接受多个端口的 ServerSocket 连接

Accept ServerSocket connection for multiple port

buyerSocket = new ServerSocket(BUYER_PORT);
sellerSocket = new ServerSocket(SELLER_PORT);
Socket clientSocket = null;
while (true)
    {
        clientSocket = sellerSocket.accept();
        MultiServerThread x = new MultiServerThread(clientSocket, dat);
        x.start();

        clientSocket = buyerSocket.accept();
        MultiServerThread y = new MultiServerThread(clientSocket, dat);
        y.start();

    }

在这段代码中,它总是先等待 sellerSocket 连接,然后再接受 buyerSocket。谁能建议一种先接受哪个的方法?

关于 accept() 的描述 - 侦听要与此套接字建立的连接并接受它。该方法会阻塞,直到建立连接。如果我想接受来自多个端口的连接,我应该使用其他方法而不是 accept() 吗?

做到这一点的唯一方法是使用多线程,因为 accept() 方法会阻塞,直到有连接进来。

您必须为此使用非阻塞 IO (NIO) 库。您可以按照这个不错的教程 http://tutorials.jenkov.com/java-nio/index.html