美文网首页
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,说明还有数据没有发送完成,需要继续发送

    相关文章

      网友评论

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

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