-
wangluo 编程
查看全部 -
NIO编程实现步骤
第一步:创建Selector
第二步:创建ServerSocketChannel,并绑定监听端口
第三步:将Channel设置为非阻塞模式
第四步:将Channel注册到Selector上,监听连接事件
第五步:循环调用Selector的select方法,监测就绪情况
第六步:调用selectedKeys方法获取就绪的channel
第七步:判断就绪事件种类,调用业务处理方法
第八步:根据业务需要决定是否再次注册监听事件,重复执行第三步操作
查看全部 -
Selector 选择器/多路复用器
作用:I/O就绪选择
地位:NIO网络编程的基础
SelectionKey提供四个常量值
连接就绪 connect
接受就绪 accept
读就绪 read
写就绪 write
查看全部 -
selector核心API
查看全部 -
flip ()方法将buffer从写模式切换为读模式,此时position变为0,limit 变为刚才的position
get()方法是读取一个字节,此时position移动到1的位置
mark()方法记录当前position的位置
reset()方法是将position置为mar()标记的位置
clear()方法将positon,limit,capacity重置
查看全部 -
写入时,用到limit,capacity,position,mark。 读取时,用到limit,capacity,position。查看全部
-
客户端实现步骤
查看全部 -
NIO服务端1234
查看全部 -
SelectionKey提供四个常量值
连接就绪 connect
接受就绪 accept
读就绪 read
写就绪 write
查看全部 -
selector核心API
查看全部 -
Selector 叫做选择器或者多路复用器,Selector能够检测1到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件,通过Selector,一个单独的线程就可以管理多个Channel,从而管理多个网络连接
查看全部 -
flip ()方法将buffer从写模式切换为读模式,此时position变为0,limit 变为刚才的position
get()方法是读取一个字节,此时position移动到1的位置
mark()方法记录当前position的位置
reset()方法是将position置为mar()标记的位置
clear()方法将positon,limit,capacity重置
查看全部 -
ByteBuffer.allocate(10),初始化Buffer
查看全部 -
Channel特点:
即可读又可写
非阻塞
只能操作buffer
Channel实现:
文件类:FileChannel
UDP类:DatagramChannel
TCP类:ServerSocketChannel/SocketChannel
Socket 通过ServerSocket和Socket
查看全部 -
NIO网络模型
服务端Selector:负责监听新连接的接入,或者某个连接有可读可写的消息,一旦监听到,就会调用对应的事件处理器来 完成对事件的响应
Acceptor可以一次处理多个请求。
查看全部
举报