限制IP C 的客户端数量



我想限制IP地址上超过4个客户端的设备访问。

struct sockaddr_in peerAddr;
SOCK_LEN_TYPE peerAddrLen = sizeof(peerAddr);
// Yes, socket is free, try to accept a connection on it
connectionSocketArr[sockIdx] = accept(listenSocket, (struct sockaddr *) &peerAddr,
                                     &peerAddrLen);

您可以使用sockIdx变量查看当前已连接了多少个客户端。

而不是将accept返回的套接字直接存储在数组中,而是将其存储在临时变量中。如果sockIdx大于3,则不允许新客户端连接,因此向客户端发送消息并关闭套接字。否则将插座存储在数组中并增加sockIdx

最新更新