有个客户,他们的程序员写了个接收TCP流数据软件,socket是无限制的连接,导致我的程序崩溃了

对方不停的创建socket连接我的服务端,我服务端主动关闭socket后,我查看端口状态,发现无数个连接的端口是FIN_WAIT_2状态

c++

1个回答

这是因为客户端在检测到你主动关闭socket以后故意不关闭它导致的,是一种半关闭状态,TCP协议的完整关闭需要四次握手,需要双方都同意。最好让客户端主动关闭socket,或者使用SO_LINGER选项,具体你可以参考《TCP/IP详解第一卷》。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题