为了进行非阻塞的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