Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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#中的Tcp套接字发送的,而没有客户端回复?_C#_Sockets_Tcp - Fatal编程技术网

我如何知道消息是否是通过C#中的Tcp套接字发送的,而没有客户端回复?

我如何知道消息是否是通过C#中的Tcp套接字发送的,而没有客户端回复?,c#,sockets,tcp,C#,Sockets,Tcp,我如何知道消息是否是通过C#中的Tcp套接字发送的,而没有客户端回复 如果使用TCP套接字的send方法发送字节,TCP将确保将所有字节发送给收件人。如果无法传递字节,则Send方法将引发异常 但是,请注意,套接字可能会在发送字节之前缓冲一些字节,因此即使TCP保证字节的传递,当Send方法返回时,它们也可能尚未发送 还请注意,如果程序仅调用Receive方法,则无法确定TCP连接是否中断。您必须不时发送一些数据,以检查TCP连接是否仍在工作。由于发送方缓冲,这并不总是正确的。发送可能被缓冲,连

我如何知道消息是否是通过C#中的Tcp套接字发送的,而没有客户端回复

如果使用TCP套接字的
send
方法发送字节,TCP将确保将所有字节发送给收件人。如果无法传递字节,则
Send
方法将引发异常

但是,请注意,套接字可能会在发送字节之前缓冲一些字节,因此即使TCP保证字节的传递,当
Send
方法返回时,它们也可能尚未发送


还请注意,如果程序仅调用
Receive
方法,则无法确定TCP连接是否中断。您必须不时发送一些数据,以检查TCP连接是否仍在工作。

由于发送方缓冲,这并不总是正确的。发送可能被缓冲,连接可能失败。顺便说一句,TCP是面向流的传输。它不处理消息,只处理字节流。