Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在哪种情况下EndSend会收到SocketException?_C#_Sockets_Socketexception - Fatal编程技术网

C# 在哪种情况下EndSend会收到SocketException?

C# 在哪种情况下EndSend会收到SocketException?,c#,sockets,socketexception,C#,Sockets,Socketexception,根据Socket.EndSend方法,可以使用面向连接的协议为套接字抛出SocketException。什么时候 我测试了几个场景,没有一个抛出SocketException 场景1:应用程序调用BeginSend,在发送数据时,应用程序调用BeginDisconnect/Disconnect 结果:套接字在发送所有数据并且EndSend成功之前不会发送FIN 场景2:应用程序调用BeginSend,在发送数据时,套接字从远程端点接收RST。 结果:套接字停止发送数据,调用回调,EndSend成

根据Socket.EndSend方法,可以使用面向连接的协议为套接字抛出SocketException。什么时候

我测试了几个场景,没有一个抛出SocketException

场景1:应用程序调用BeginSend,在发送数据时,应用程序调用BeginDisconnect/Disconnect
结果:套接字在发送所有数据并且EndSend成功之前不会发送FIN

场景2:应用程序调用BeginSend,在发送数据时,套接字从远程端点接收RST。
结果:套接字停止发送数据,调用回调,EndSend成功报告已发送所有字节。不明白为什么


Socket.EndSend方法何时会在面向连接的协议上引发SocketException?

我知道,如果连接被切断(而不是有序关闭),它确实会引发错误。您应该能够通过拉动网络电缆来重现此行为。如果您不能,请发布一些代码。

我禁用了发送数据的套接字使用的NIC,并且在调用EndSend时抛出了SocketException