我需要构建一个应用程序服务器模块-一个用于在原则上聊天的通信客户端的控制台应用程序,该客户端模块-一个必须连接到服务器的GUI应用程序聊天。
问题是我需要对连接的用户数设置限制,服务器启动时会读取配置文件中的限制

最佳答案

为什么不将条件放入while循环中?

try {

        int numOfConnectionLimit = 10; // or read number of connection from that config file

        ServerSocket listenerServ = new ServerSocket(servPort);
        System.out.println("Waiting...." + servPort + " "
                + "" + listenerServ.getInetAddress().getHostAddress());
        while (connectArray.size() < numOfConnectionLimit) {

            sock = listenerServ.accept();
            connectArray.add(sock);
            System.out.println("Client connected from: " + sock.getLocalAddress().getHostName());
            addUserName(sock);

            SocketChatServerReturn chat = new SocketChatServerReturn(sock);
            Thread X = new Thread(chat);
            X.start();

        }
    } catch (Exception exSock) {
        System.out.println("IOException on socket listen: " + exSock);
        exSock.printStackTrace();
    }
}

10-07 19:08