标签: .net sockets
第一次使用Socket.Send(byte []数据)时,即使远程主机很久以前关闭了连接,它也不会抛出异常。它只会在第二次尝试发送数据时抛出异常。
我检查过,该方法确实返回了正确的字节数。我还使用了带有SocketError参数的重载。调用后包含SocketError.Success。
为什么套接字不会在第一次调用时抛出异常,而只会在第二次调用时抛出异常。
答案 0 :(得分:1)
当数据已发送到本地TCP / IP堆栈时,“发送”操作被视为已完成。它不保证数据已到达远程端。