java chat(serversocket / socket)

时间:2013-01-19 12:52:49

标签: java

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

2 个答案:

答案 0 :(得分:2)

计算成功接受的次数,如果达到限制则不再接受。

答案 1 :(得分:0)

为什么不把条件放在你的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();
    }
}