Хорошо, вот как идут дела:
[Server] Start
[Server] Socket.AcceptConnection
[Client] Start
[Client] Socket.Connect
[Server] Receive //blocking
[Client] Send
[Server] Print
[Server] Receive
[Client] Close socket
Есть ли способ узнать, когда клиент закрыл соединение?
В настоящее время я использую трюк с поддельными пакетами, как описано в MSDN, где в отдельном потоке я делаю
[Server] socket.Send(byte[], 0,0);
И я проверяю, выдает ли она какую-либо ошибку, но это не так, даже если клиент закрыл сокет.
P.S. Я действительно думаю, может ли это быть проблемой, если у меня есть сокет на стороне сервера (TCP) и TcpClient на стороне клиента?
Спасибо.