Java NIO套接字客户端请求处理

时间:2017-02-05 12:07:22

标签: java sockets nio

我正在尝试了解NIO套接字模型,并且我有几个问题需要清理。

  1. 是否可以使用选择器注册多个服务器通道,例如

    serverChannel_1.register(selector, SelectionKey.OP_ACCEPT);
    serverChannel_2.register(selector, SelectionKey.OP_ACCEPT);
    // and so on ....? 
    

    那么,通过注册两个ServerSocketChannel,你在不同端口的同一台机器上有两台服务器吗?

  2. 以下nio套接字模型中的“键”是什么:

  3. script

    据我所知,长客户端I / O请求被分成小块并一个接一个地处理。即,一次处理来自客户端1,2,3的请求的10%并且循环再次开始?

1 个答案:

答案 0 :(得分:1)

  1. A SelectionKey是使用选择器注册频道的结果。如果您愿意,它代表注册。它具有已注册的通道,其注册的事件以及当前准备好的事件(如果有的话)作为属性。

      

    据我所知,长客户端I / O请求被分成小块并一个接一个地处理。即,一次处理来自客户端1,2,3的请求的10%并且循环再次开始?

  2. 没有。如何处理客户端I / O完全取决于您。 Selector所做的就是告诉你哪些事件已经准备就绪了。