在ServerSocket上,需要澄清

时间:2012-04-25 19:13:28

标签: java sockets serversocket

我们有声明

public ServerSocket(int port,
                    int backlog)
             throws IOException
  

将积压识别为传入的最大队列长度   连接。如果队列已满时连接指示到达,   连接被拒绝。

让我们说backlog设置为10。

这是否意味着ServerSocketaccept不超过10个客户?

其次是:

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

积压数量仅在sock.close()时才会下降。这是对的吗?

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

1 个答案:

答案 0 :(得分:2)

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

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