Network programming 如何处理与设计为一次处理有限数量连接的服务器的挂起连接

Network programming 如何处理与设计为一次处理有限数量连接的服务器的挂起连接,network-programming,client-server,Network Programming,Client Server,我想知道处理以下情况的最佳方法是什么: 我有一个服务器,一次只能处理10个连接,在此期间,服务器忙于与客户机交互。但是,当服务器繁忙时,可能会有新的客户端需要连接(作为服务器将要接受的下10个连接的一部分)。服务器只应在完成与前10个代理的连接后才接受新连接 现在,我希望有一种自动方式,让挂起的客户端在服务器可用时等待并连接到服务器(即,完成前10个客户端) 到目前为止,我可以想到两种方法:1。在客户端有一个文件监视,以便客户端监视服务器写入的文件。当服务器完成10个客户端时,它将写入文件,待处

我想知道处理以下情况的最佳方法是什么:

我有一个服务器,一次只能处理10个连接,在此期间,服务器忙于与客户机交互。但是,当服务器繁忙时,可能会有新的客户端需要连接(作为服务器将要接受的下10个连接的一部分)。服务器只应在完成与前10个代理的连接后才接受新连接

现在,我希望有一种自动方式,让挂起的客户端在服务器可用时等待并连接到服务器(即,完成前10个客户端)

到目前为止,我可以想到两种方法:1。在客户端有一个文件监视,以便客户端监视服务器写入的文件。当服务器完成10个客户端时,它将写入文件,待处理的客户端将知道是时候连接了;2.让挂起的客户端每隔5-10秒左右尝试连接服务器,直到成功,服务器将返回一条消息,指示它是否准备就绪


任何其他建议都是非常受欢迎的。谢谢。

在您提供的两个选项中,我倾向于第二个选项“ping”服务器。我认为让服务器向客户端写入一个文件以触发另一次尝试更为复杂

我认为您应该能够让客户等待,并简单地发送一个就绪信号。保持连接请求的运行队列(我相信是从Socket.connection.EndPoint)。当一个套接字完成时,从队列中接受下一个套接字