我想限制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);
答案 0 :(得分:0)
您可以使用sockIdx
变量查看当前连接的客户端数量。
不是将accept
返回的套接字直接存储在数组中,而是将其存储在临时变量中。如果sockIdx
大于3
,则不允许新客户端连接,因此向客户端发送消息,说明并关闭套接字。否则将套接字存储在数组中并增加sockIdx
。