C# 在哪种情况下EndSend会收到SocketException?
根据Socket.EndSend方法,可以使用面向连接的协议为套接字抛出SocketException。什么时候 我测试了几个场景,没有一个抛出SocketException 场景1:应用程序调用BeginSend,在发送数据时,应用程序调用BeginDisconnect/DisconnectC# 在哪种情况下EndSend会收到SocketException?,c#,sockets,socketexception,C#,Sockets,Socketexception,根据Socket.EndSend方法,可以使用面向连接的协议为套接字抛出SocketException。什么时候 我测试了几个场景,没有一个抛出SocketException 场景1:应用程序调用BeginSend,在发送数据时,应用程序调用BeginDisconnect/Disconnect 结果:套接字在发送所有数据并且EndSend成功之前不会发送FIN 场景2:应用程序调用BeginSend,在发送数据时,套接字从远程端点接收RST。 结果:套接字停止发送数据,调用回调,EndSend成
结果:套接字在发送所有数据并且EndSend成功之前不会发送FIN 场景2:应用程序调用BeginSend,在发送数据时,套接字从远程端点接收RST。
结果:套接字停止发送数据,调用回调,EndSend成功报告已发送所有字节。不明白为什么
Socket.EndSend方法何时会在面向连接的协议上引发SocketException?我知道,如果连接被切断(而不是有序关闭),它确实会引发错误。您应该能够通过拉动网络电缆来重现此行为。如果您不能,请发布一些代码。我禁用了发送数据的套接字使用的NIC,并且在调用EndSend时抛出了SocketException