这是一个我不太了解的异步套接字场景......我有 2 个 Tcp 套接字,一个客户端套接字和一个服务器套接字。我的服务器套接字已绑定并在端口上侦听。
我的客户端套接字连接到服务器套接字(使用 BeginConnect / EndConnect)。然后我使用 BeginSend() 向服务器发送一条消息。在服务器端,我不执行 Receive() 或 BeginReceive()。
发生的情况是我为 BeginSend 调用指定的 AsyncCallback 被调用,它的 IAsyncResult 告诉我它已完成,对 Socket.EndSend() 的调用没有引发任何异常......
只有当 BeginSend 调用实际上向服务器发送了一些东西(即:在服务器接收到所有字节后调用回调)时,是否有我没有得到或不应该调用我的 AsyncCallback 的东西?如果服务器上没有完成接收,在 sendtimeout 到期后不应该调用我的回调并且我对 Socket.EndSend 的调用会引发异常吗?
谢谢