2

我们有声明

public ServerSocket(int port,
                    int backlog)
             throws IOException

其中 backlog 被标识为传入连接的最大队列长度。如果队列满时有连接指示到达,则拒绝连接。

假设积压设置为 10。

这是否意味着ServerSocket不会accept超过 10 个客户?

其次是:

    while (serverShouldStillBeRunning) {
        Socket sock = clientSocket.accept();
        js.new Worker(sock).start();
    }

只有在sock.close(). 它是否正确?

有没有办法知道一个套接字当前正在处理多少个打开的连接(换句话说,它离放弃并开始拒绝新连接的点有多近)

4

1 回答 1

2

backlog 表示等待处理的连接队列。

当您 时.accept(),其中一个连接已被处理,并且不再在队列中,因此积压减少了一个。

于 2012-04-25T19:19:45.107 回答