这是一个异步套接字的场景,我不太明白......我有2个Tcp套接字,一个客户套接字&一个服务器套接字。我的服务器套接字绑定在端口上侦听&。C#Socket.BeginSend AsyncCallback行为(超时?)
我的客户端套接字连接到服务器套接字(使用BeginConnect/EndConnect)。然后,我使用BeginSend()向服务器发送消息。在服务器端,我不做Receive()或BeginReceive()。
什么情况是,我BeginSend调用指定我的AsyncCallback被调用&其IAsyncResult的告诉我,它完成&调用Socket.EndSend()不会引发任何异常......
有没有东西,我没有或者不应该只在BeginSend调用实际发送一些东西给服务器时调用AsyncCallback(即:服务器收到所有字节后调用的回调函数)?如果服务器上没有接收完成,那么在sendtimeout到期后我的回调不应该被调用,并且我对Socket.EndSend的调用会引发异常?
谢谢
等什么?在从服务器收到TCP ACK之前调用beginsend回调函数?我不确定我喜欢这个。 – Chris 2014-03-01 12:00:51