我正在制作一个客户端服务器程序,也在制作一个多线程服务器,以便它可以一次处理多个客户端。我看过一些示例,但是有些东西使我感到困惑。
这两个类:
http://docs.oracle.com/javase/tutorial/networking/sockets/examples/KKMultiServer.java

http://docs.oracle.com/javase/tutorial/networking/sockets/examples/KKMultiServerThread.java

用于多线程服务器,但令我困惑的部分如下:

while (listening) {
            new KKMultiServerThread(serverSocket.accept()).start();
        }


在我看来,服务器正在创建无限数量的KKMultiServerThreads,并且当套接字没有连接时,它将通过null传递。这是如何运作的?

最佳答案

我还没有看到您的代码。但是我对此问题有一些了解。的

    serverSocket.accept()


是一种阻塞方式(功能)。如果您不输入任何内容,程序将等待您的输入。我认为它不会自动返回null。

关于java - Java多线程服务器说明请,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29574267/

10-14 12:26
查看更多