【问题标题】:number of clients queued by server and if a client is queued or not服务器排队的客户端数量以及客户端是否排队
【发布时间】:2014-03-05 14:20:04
【问题描述】:

如何检查客户端是否被服务器积压?并检查有多少客户积压?

我有一个初始化了 SocketServer 的服务器,我有一个客户端试图连接。 服务器端代码是

  ServerSocket sock = new ServerSocket(9000,1);
  Socket so=sock.accept();

客户端将是

  Socket soc = new Socket("localhost",9000);

【问题讨论】:

  • 积压是什么意思?
  • 您是否使用 NIO2 在服务器端有效地处理套接字?
  • @ErstwhileIII NIO2?不,我用力。我也不清楚它们是什么。
  • @peter.petrov 请求传入连接队列的最大长度。 i 1 我作为参数传递给 serversocket
  • 使用Java“Network IO 2”提供了一种更有效的方法来生成服务器......这可以让您不必为您服务的每个套接字都拥有一个单独的进程(线程)。如果您在服务器端遇到容量问题,您应该查看 NIO2(标准 Java 7 的一部分)

标签: java sockets network-programming nio serversocket


【解决方案1】:

如何检查客户端是否被服务器积压?

使用选择器。

并检查有多少客户积压?

使用 Selector.selectedKeySet().size()。

这当然假设您只选择 OP_ACCEPT。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2018-02-20
    • 2010-09-24
    相关资源
    最近更新 更多