【JAVA】【NIO】10、Java NIO ServerSocketChannel
来源:互联网 发布:linux close函数 编辑:程序博客网 时间:2024/05/22 17:25
Java NIO的ServerSocketChannel是用来监听外来TCP连接的channel,就想标准Java网络中的ServerSocket。实例如下:
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();serverSocketChannel.socket().bind(new InetSocketAddress(8090));while(true) {SocketChannel socketChannel = serverSocketChannel.accept();}
打开一个ServerSocketChannel
通过open方法打开
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
关闭ServerSocketChannel
通过close方法
监听外来连接
监听外来连接通过调用accept方法,当accept方法返回,将返回一个连接的SocketChannel。所以accept方法会阻塞直到有连接。
由于一般情况对单个连接没有监听的兴趣,你可以在循环内调用accept方法。
while(true) {SocketChannel socketChannel = serverSocketChannel.accept();}当然,你应该使用一些退出循环的条件,而不是true。
非阻塞模式
ServerSocketChannel能设置成非阻塞模式,在非阻塞模式下,accept方法立即返回,有可能返回null(如果没有连接建立)。因此你必须检查返回的SocketChannel是不是null。如下:
while(true) {SocketChannel socketChannel = serverSocketChannel.accept();if(socketChannel!=null) {}}
下一节:【JAVA】【NIO】11、Java NIO DatagramChannel
0 0
- Java NIO(10-ServerSocketChannel)
- 【JAVA】【NIO】10、Java NIO ServerSocketChannel
- Java NIO ServerSocketChannel
- Java NIO ServerSocketChannel
- Java NIO ServerSocketChannel
- Java NIO (九) ServerSocketChannel
- Java NIO ServerSocketChannel
- Java NIO ServerSocketChannel
- Java NIO 之 ServerSocketChannel
- Java NIO ServerSocketChannel
- Java Nio 十、Java NIO ServerSocketChannel
- Java Socket:Java-NIO-ServerSocketChannel
- java NIO教程(九)--ServerSocketChannel
- Java NIO 之 ServerSocketChannel SocketChannel
- Java NIO之ServerSocketChannel类
- java NIO selector ServerSocketChannel 例子
- 《Java 源码分析》:Java NIO 之 ServerSocketChannel
- 《Java 源码分析》:Java NIO 之 ServerSocketChannel
- jdk-7u3-linux-i586.tar.gz安装
- Largest Number
- iPhone手机通讯录恢复方法
- 使用draggablegridview开源库添加自定义控件可以显示,添加自定义的layout文件可以显示背景色但是无法显示其控件
- 项目2-长方体类
- 【JAVA】【NIO】10、Java NIO ServerSocketChannel
- 基于C++ 的苹果apns消息推送实现(2)
- 堆
- 二叉树 nyoj-63 小猴子下落
- 组合数对素数取模 Lucas定理
- Java——安装配置
- 总结eclipse中安装maven插件
- php绘图应用之验证码
- 分享一篇很好的sprite介绍文章:模拟物理