ServerSocketChannel注册到Selector,同时订阅SelectionKey.OP_ACCEPT事件,工作线程内用while(true)循环,不断的遍历Selector里面,接收到通道事件:

1.如果当前遍历到的是SelectionKey.OP_ACCEPT事件,那么取到SelectionKey 对象关联的SocketChannel,再通过SocketChannel.register(selector, SelectionKey.OP_READ)把SocketChannel注册到Selector并订阅SelectionKey.OP_READ事件。

2.如果当前遍历到的是SelectionKey.OP_READ事件,就把SocketChannel里面的数据,读取到ByteBuffer,再从ByteBuffer读取到应用程序中使用。


java -nio 模型


相关文章:

  • 2021-07-30
  • 2021-04-27
  • 2021-05-25
猜你喜欢
  • 2021-06-26
  • 2022-12-23
  • 2021-08-24
  • 2021-11-24
  • 2022-02-09
  • 2021-05-22
  • 2021-08-26
相关资源
相似解决方案