Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有多个待办事项的服务器套接字如何工作?_Java_Sockets_Network Programming_Serversocket - Fatal编程技术网

Java 具有多个待办事项的服务器套接字如何工作?

Java 具有多个待办事项的服务器套接字如何工作?,java,sockets,network-programming,serversocket,Java,Sockets,Network Programming,Serversocket,我是套接字编程新手,在理解serversocket方面有问题。 假设我们创建一个serversocket,如下所示: loadbalancerSocket = new ServerSocket(port, 20); connection = loadbalancerSocket.accept(); 然后在一些东西之后,在它的缓冲区中写一些东西: BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connectio

我是套接字编程新手,在理解serversocket方面有问题。 假设我们创建一个serversocket,如下所示:

loadbalancerSocket = new ServerSocket(port, 20);
connection = loadbalancerSocket.accept();
然后在一些东西之后,在它的缓冲区中写一些东西:

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
                writer.write("Hello!");
                writer.flush();
                writer.close();

我的问题是:连接如何理解哪个客户端应该得到服务器的响应?我们的待办事项是20个,20个客户端可以同时连接到服务器套接字(据我所知)。

在您的示例中,第一个连接的客户端得到响应。backlog参数并不意味着可以并行连接的客户端数量。它是等待接受连接的最大客户端数

ServerSocket
未连接到任何特定客户端。连接的套接字是从
accept()
返回的套接字。如果要并行处理多个客户端,必须多次调用
accept()
并分别处理连接。例如,您可以为每个连接创建一个特殊线程

accept()
通常在循环中调用,从
accept()
返回的新创建的连接套接字通常传递给负责特定客户端的处理程序