限制一定数量的客户端连接到服务器



我制作了一个聊天应用程序,它有一个服务器和客户端。我想将客户端的连接限制在一定数量,比如说2。我试图通过将ServerSocket定义为somevar=new ServerSocket(端口,2)来实现这一点。问题是,当客户端断开连接时,新客户端仍然无法登录(在达到2个连接的限制后),关闭的套接字似乎被视为已连接的套接字。有人有办法解决这个问题吗?

跟踪阵列中连接的所有客户端

Client[] clients=new Clients[4];

现在,当客户端断开连接时,您必须使阵列上的客户端空间为null,在此之前,关闭该用户的任何打开的流。将数组中的空格设为null将为新客户端打开它。

我做了一个聊天应用程序,它有一个服务器和客户端。我想将客户端的连接限制在一定数量,比如说2。我试图通过将ServerSocket定义为somevar=new ServerSocket(端口,2)来实现这一点。

这不是那个参数的作用。它没有定义连接的客户端的最大数量。它定义了侦听囤积队列的最大大小,即尚未接受的挂起连接的数量。

问题是当客户端断开连接时,新客户端仍然无法登录(在达到2个连接的限制后)

这是不对的。

似乎闭合的套接字被算作连接的套接字。有人有办法解决这个问题吗?

数数。接受时递增计数器,关闭该连接时递减计数器。

最新更新