Вот сценарий с асинхронными сокетами, которые я не совсем понимаю ... У меня есть 2 Tcp сокета, клиентский сокет & - серверный сокет. Мой серверный сокет связан & прослушивание порта.C# Socket.BeginОтправить поведение AsyncCallback (timeout?)
Мои клиентские сокеты подключаются к серверному сокету (с использованием BeginConnect/EndConnect). Затем я отправляю сообщение на сервер с помощью функции BeginSend(). На стороне сервера я не делаю Receive() или BeginReceive().
Что происходит там, что мой AsyncCallback указано для моего BeginSend вызова получает вызывается & его IAsyncResult говорит мне, что она завершила & призыв к Socket.EndSend() не вызывает каких-либо исключений ...
ли что-то, что Я не получаю или не должен вызывать мой AsyncCallback только в том случае, если вызов BeginSend фактически отправляет что-то на сервер (т. Е .: вызов обратного вызова после того, как сервер получил все байты)? Если на сервере не было приема, не должен ли мой callback быть вызван после истечения времени отправки, а мой вызов Socket.EndSend приведет к возникновению исключения?
Thanks
Ждать, что? Начальный обратный вызов вызывается перед получением TCP ACK с сервера? Я не уверен, что мне это нравится. – Chris