服务器发送fin标志,意味着什么?
我用socket做的client端程序,连接到一个http服务器来获取一个图片,服务器不是我写的。我的程序首先connect,然后发送一个请求,服务器接受到请求,返回图片信息,在这之后服务器会发送一个FIN ACK过来(我用wireshark看到的),这是不是意味着服务器那端用closesocket终止这个socket了?奇怪的是我接下来继续用send给这个socket发送数据,是可以发送的(返回值是发送的字节数)。
[解决办法]
TCP连接有2个方向,send, receive.服务器端主动发FIN表示它的数据已经全部发送完,客户端在送完所有数据后通过发FIN标志自己发送结束。两边都发了FIN才是tcp连接正常关闭。