min*_*vor 4 c sockets linux posix tcp
我写了一个C代码,它创建了一个套接字,到目前为止它工作正常.在RFC for TCP中,我发现可以发送FIN标志告诉其他主机我想要退出或谈话.FIN标志并不意味着其他主机无法发送更多数据.因此,在一个完美的世界中,我会发送FIN标志,另一个主机知道我不想再说话,他发送剩余的数据并在此之后关闭.但我怎么能发送FIN ??? close()函数对我来说或者更好地设置linux内核在放弃资源时所做的事情.但是放弃资源意味着我不能再使用recv()函数,因为当我调用close()函数时,内核会放弃文件描述符.那么如何在FIN标志之后读取其他主机可能要发送的其余数据呢?我打赌有一个干净的解决方案
您想要关闭套接字的写入端shutdown(s, SHUT_WR).
该
shutdown()调用导致与sockfd关联的套接字上的全双工连接的全部或部分关闭.如果是这样SHUT_RD,将不允许进一步接待.如果是这样SHUT_WR,将不允许进一步的传输.如果是这样SHUT_RDWR,将不允许进一步的接收和传输.
也可以看看:
| 归档时间: |
|
| 查看次数: |
2239 次 |
| 最近记录: |