在serversocket上最多没有套接字

时间:2014-04-25 19:46:48

标签: java sockets

我正在查看serversocket API,它说最大允许连接数为50.我试过测试..

public class ClientSocketTest {

    public static void main(String[] args) throws UnknownHostException, IOException {
        int count = 10000;
        Socket[] clients = new Socket[count];
        for(int i = 0; i < count ; i++)
        {
            clients[i] = new Socket("localhost", 9090);
            System.out.println("connected to server: " + i);
        }


     }
    }

    public class ServerSocketTest {

        public static void main(String args[]) throws IOException
        {
            ServerSocket serverSocket = new ServerSocket(9090);
            int i =1;

        while(true){
            serverSocket.accept();
            System.out.println("Accepted port" + i++);
        }


    }

}

我在clientsockettest程序中以count值50开始。我能够将它增加到10000并仍然可以运行程序而没有任何错误。

允许的最大连接数是多少?

2 个答案:

答案 0 :(得分:1)

  

我正在查看serversocket API,它表示允许的最大连接数为50。

不,它没有。它说默认积压是50.完全不同的东西。

Java没有施加最大限制。文件描述符或套接字缓冲区空间(Windows)存在操作系统限制,但您可能会遇到线程或线程堆栈空间不足以达到此目的。

答案 1 :(得分:0)

这取决于操作系统而非编程语言