标签: c++ tcp
我遇到客户端连接的服务器可能会在客户端仍在运行时重复关闭的情况。
在当前实现中,当客户端读取失败时,它将调用close(sockFd)来关闭套接字。然后它将循环尝试重新创建该套接字。
close(sockFd)
这是最佳做法吗?或者是否可以离开套接字并尝试连接它?
编辑:平台是Linux
答案 0 :(得分:1)
当你在套接字上遇到EINTR或EAGAIN/EWOULDBLOCK以外的任何错误时,它几乎肯定已经死了,必须关闭。 @abarnert在下面的有用评论中给出了其他一些内容。
EINTR
EAGAIN/EWOULDBLOCK