gpt4 book ai didi

java - 具有多个积压的服务器套接字如何工作?

转载 作者:行者123 更新时间:2023-11-30 06:55:06 25 4
gpt4 key购买 nike

我是套接字编程的新手,我对服务器套接字的理解有问题。假设我们像这样创建一个服务器套接字:

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() 返回的新创建的连接套接字通常传递给负责特定客户端的处理程序。

关于java - 具有多个积压的服务器套接字如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35749809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com