为什么接收对等机上的套接字继续接收'';当我使用“无限”;控制-c“;关闭发送对等机上的套接字
我是socket编程的新手,我知道使用“control-c”关闭socket是一个坏习惯,但为什么在我使用“control-c”关闭发送过程后,接收端的socket会无限地继续接收“”?在“control-c”退出进程后,发送对等机上的套接字不应该关闭吗?谢谢 没有给出代码,但这里有一个关于可能发生的情况的有根据的猜测:为什么接收对等机上的套接字继续接收'';当我使用“无限”;控制-c“;关闭发送对等机上的套接字,c,sockets,tcp,exit,control-c,C,Sockets,Tcp,Exit,Control C,我是socket编程的新手,我知道使用“control-c”关闭socket是一个坏习惯,但为什么在我使用“control-c”关闭发送过程后,接收端的socket会无限地继续接收“”?在“control-c”退出进程后,发送对等机上的套接字不应该关闭吗?谢谢 没有给出代码,但这里有一个关于可能发生的情况的有根据的猜测: 您有两个独立的代码位在运行:发送和接收 当您使用CTL+C终止发送套接字时,您正在传输数据 您希望接收套接字停止,但它没有停止 问题可能是“传输结束”协议之一。如果在点击CTL
recv()时,您将忽略错误和流结束。
在“control-c”退出进程后,发送对等机上的套接字不应该关闭吗
是的。整个过程是“封闭的”,包括其所有资源
关于接收插座,由您检测其应关闭的条件,并将其关闭。准确的副本。既然你已经这样做了,并且得到了一个你表示理解的问题,为什么还要再问这个问题?@EJP:当第一次问另一个问题时,你为什么把另一个问题标记为这个问题的副本?这个问题是重复的。@RemyLebeau我已经因为另一个原因投票结束了这个问题。对不起,我的错,我没有完全理解,我只是通过TCP,我想现在我理解了,对不起this@EJP