美文网首页
Java网络编程-NIO

Java网络编程-NIO

作者: kevin0016 | 来源:发表于2018-06-21 14:01 被阅读14次

构造函数

首先放一个NIO的使用流程

1、创建ServerSocketChannel,配置为非阻塞模式

2、绑定监听,配置TCP参数,例如backlog大小;

3、创建一个独立的IO线程,用于轮询多路复用器Selector;

4、创建Selector,将之前创建的ServerSocketChannel注册到Selector上,监听SelectionKey.ACCEPT

5、启动IO线程,在循环体中之行Selector.select()方法,轮询就绪的Channel;

6、当轮训到了处于就绪状态的channel时,需要对其进行判断,如果是OP_ACCEPT状态,说明是新的客户端接入,则调用ServerSocketChannel.accept()方法接受新的客户端;

7、设置新借入的客户端链路SocketChannel为非阻塞模式,配置其他的一些TCP

8、将SocketChannel注册到Selector,监听OP_READ操作位;

9、如果轮训的Channel为OP_READ,则说明SocketChannel中,有心得就绪的数据包需要读取,则构造ByteBuffer对象,读取数据包;

10、如果轮训的Channel为OP_WRITE,说明还有数据没有发送完成,需要继续发送

相关文章

  • Android 网络编程3 Java NIO

    Android网络编程 目录 1、Java NIO 的核心组件 Java NIO的核心组件包括:Channel(通...

  • Java NIO

    书本 Netty权威指南netty实战O’Reilly的《Java nio》Unix网络编程 《unix网络编程》...

  • java NIO

    并发编程网 - Java NIO系列教程 javaeye - Java NIO 系列教程 NIO 入门 Java ...

  • Netty线程模型相关概念知识

    点击查看 官网[https://netty.io/] 点击查看NIO相关的知识 Java - NIO网络编程[ht...

  • Java学习资源收集

    Java基础核心 Java NIO Java NIO系列教程(并发编程网) 攻破JAVA NIO技术壁垒 Java...

  • IO

    java网络编程 阻塞IO NIO 1. java网络编程 基础知识1.ip地址和端口号2.tcp/udp协议3....

  • Java网络编程-NIO

    构造函数 首先放一个NIO的使用流程 1、创建ServerSocketChannel,配置为非阻塞模式 2、绑定监...

  • Java NIO网络编程

    OSI网络七层模型 低三层物料层:使用原始数据比特流能再物理介质上传输数据链路层: 通过校验、确认和反馈重发等手段...

  • Java - NIO网络编程

    JAVA NIO 始于Java1.4, 提供了新的Java IO 操作非阻塞API。目的是替代Java IO 和 ...

  • ServerSocketChannel

    Java NIO的ServerSocketChannel就是用来监听TCP连接的,就像标准的Java网络编程里的S...

网友评论

      本文标题:Java网络编程-NIO

      本文链接:https://www.haomeiwen.com/subject/qtsqyftx.html