我的服务器套接字可以支持最大可能的连接。但是,我如何限制并发连接的数量,以便它可以同时支持至少5个但不超过20个客户端。
答案 0 :(得分:1)
您有两种选择:
根本不要再打电话accept()
然后你就准备好了。如果您已连接20个客户端,请再次停止呼叫accept()
,直到客户端先断开连接。
继续正常呼叫accept()
,但如果您已连接20个客户端,请立即致电close()
(或Windows上为closesocket()
)。
一个。 Windows上的此类变体仅用于WSAAccept()
。它允许您指定回调以有条件地接受客户端。您可以让它返回CF_REJECT
,同时已连接20个客户端。这样,WSAAccept()
将永远不会允许超过20个客户端同时连接。