发生超时时,有一种简单的方法可以从服务器中踢出客户端吗?套接字是 TCP
问问题
259 次
2 回答
2
只是close(2)
文件描述符并停止从中读取。
于 2012-08-11T09:32:20.810 回答
0
术语踢是模糊的。您通常可以通过启用SO_LINGER
带有 time out of 的选项来强制服务器 TCP 堆栈重置连接0
,然后关闭套接字。下面的示例(无错误检查)。
struct linger lo = { 1, 0 };
setsockopt(sock, SOL_SOCKET, SO_LINGER, &lo, sizeof(lo));
shutdown(sock, SHUT_RDWR);
close(sock);
如果您确定没有重复,shutdown
则不需要显式调用。sock
于 2012-08-11T09:59:12.410 回答