从服务器中踢出一个客户端

时间:2012-08-11 09:30:02

标签: c sockets unix

有一种简单的方法可以在超时发生时从服务器启动客户端吗?套接字是TCP

2 个答案:

答案 0 :(得分:2)

只需close(2)文件描述符并停止阅读。

答案 1 :(得分:0)

kick 一词含糊不清。您通常可以通过在SO_LINGER之外启用0选项来强制服务器TCP堆栈重置连接,然后关闭套接字。下面的示例(没有错误检查)。

struct linger lo = { 1, 0 };
setsockopt(sock, SOL_SOCKET, SO_LINGER, &lo, sizeof(lo));
shutdown(sock, SHUT_RDWR);
close(sock);

如果您确定shutdown没有重复,则无需显式调用sock