【发布时间】:2015-02-04 19:08:01
【问题描述】:
我编写了一个创建套接字的 C 代码,到目前为止它工作正常。 在 TCP 的 RFC 中,我发现可以发送一个 FIN 标志来告诉其他主机我想退出或对话。 FIN 标志并不意味着其他主机无法发送更多数据。因此,在一个完美的世界中,我会发送 FIN 标志,而另一个主机知道我不想再说话了,他会发送其余的数据并在那之后关闭。 但是我怎样才能发送 FIN ??? close() 函数对我来说是这样做的,或者更好地设置 linux 内核在他存放资源时所做的事情。 但是收起资源意味着我不能再使用 recv() 函数,因为当我调用 close() 函数时,文件描述符被内核收起。 那么如何读取其他主机在我的 FIN 标志之后可能想要发送的其余数据。 我敢打赌有一个干净的解决方案
【问题讨论】: