Вот сценарий с асинхронными сокетами, который я не совсем понимаю ... У меня есть 2 сокета Tcp, сокет клиента и сокет сервера. Мой серверный сокет связан и прослушивает порт.
Мои клиентские сокеты подключаются к сокету сервера (используя BeginConnect / EndConnect). Затем я отправляю сообщение на сервер с помощью BeginSend (). На стороне сервера я не делаю Receive () или BeginReceive ().
Что происходит, так это то, что мой AsyncCallback, указанный для моего вызова BeginSend, вызывается, и его IAsyncResult сообщает мне, что он завершен, и вызов Socket.EndSend () не вызывает никакого исключения ...
Есть ли что-то, чего я не получаю или не должен вызываться мой AsyncCallback, только если вызов BeginSend действительно что-то отправляет на сервер (т. Е .: обратный вызов вызывается после того, как сервер получил все байты)? Если на сервере не было получено ни одного сообщения, не должен ли быть вызван мой обратный вызов после истечения времени ожидания, а мой вызов Socket.EndSend вызовет исключение?
Спасибо