Java NIO 学习笔记 - SocketChannel

本文介绍了Java NIO中的SocketChannel,用于非阻塞socket通信。通过ServerSocketChannel创建服务端,设置为非阻塞模式并绑定到Selector监听连接。当连接建立后,SocketChannel注册到Selector进行读写操作。客户端则通过SocketChannel建立连接,同样配置为非阻塞模式。
摘要由CSDN通过智能技术生成

为了进行非阻塞的socket通信,java nio提供Channel概念的实现。Channel概念以区别于传统的基于流概念的IO。事实上Channel概念的IO既包括非阻塞式的IO也包括阻塞式IO。要Channel完成非阻塞式IO需要实现SelectableChannel接口,与Selector关联使用。SocketChannel就是这样一个SelectableChannel。

由于,selector机制本身涉及多线程的内容,与Channel关联使用较为复杂;所以这里只以片断方式,针对SocketChannel的功能进行说明简要说明。

1。创建服务端的ServerSocketChannel

关联的ServerSocket可以侦听一个port。

 

2。将ServerSocketChannel注册(帮定)到一个selector用于等待外来socket连接。

当一个server socket channel得到一个外部socket连接时,可以将一个底层连接创建为一个SocketChannel实例。再将这个S

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值