TCP connect 相关问题
我在linux下进行TCP通信,用的是非阻塞的方式,实现的client端的功能。
在connect连接三次握手成功后,server端会自动的向clinet端发送一个FIN标志,导致TCP通信不正常。
请问各位大侠们,又知道这个问题是什么原因造成的么,怎样才能解决呢,希望大家不吝赐教,小弟不胜感激!!!
[解决办法]
阻塞方式能连接成功吗?
如果阻塞方式能连接成功,那估计还是非阻塞方式的代码有问题
[解决办法]
非阻塞connect你判断过返回值么?
非阻塞connect返回-1,errno==EINPROGRESS的话表示连接还没成功,此刻你去读就是错误。
或者服务端代码逻辑问题,自己检查。
[解决办法]
你确定是收到FIN包么?
[解决办法]
FIN 是TCP 连接断开申请包