【问题标题】:On ServerSocket, clarification needed在 ServerSocket 上,需要说明
【发布时间】:2012-04-25 19:13:28
【问题描述】:

我们有声明

public ServerSocket(int port,
                    int backlog)
             throws IOException

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

假设积压设置为 10。

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

接着是:

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

只有在sock.close() 时,积压数量才会减少。这是正确的吗?

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

【问题讨论】:

    标签: java sockets serversocket


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-10-08
      • 1970-01-01
      • 2016-07-17
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      相关资源
      最近更新 更多