NIO 学习(六) ServerSocketChannel
2017-10-25 17:07
447 查看
java NIO中的 ServerSocketChannel监听新连接进来的TCP连接的信道,像ScoketChannel
创建ServerSocketChannel
ServerSocketChannle监听连接
accept方法监听新进来的连接,当accept方法返回的时候,返回一个包含新进来的连接的SocketChannel,
accept方法将阻塞直到有新的连接到达
非阻塞模式
将ServerSocketChannel设置为非阻塞模式,调用accept方法就是异步的了,这样就算accept没有监听到新的
连接,本地也可以去做其他的任务。
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.bind(new InetSocketAddress("127.0.0.1", 23000));
serverSocketChannel.configureBlocking(false);
while(true){
SocketChannel accept = serverSocketChannel.accept();
if(accept!=null){
//说明有新的连接,连接到服务器
}else{
//说明没有新的连接,可以去做其他事情
}
}
创建ServerSocketChannel
ServerSocketChannel serverChannel = ServerSocketChannel.open();关闭ServerSocketChannle close()
ServerSocketChannle监听连接
ServerSocketChannel serverChannel = ServerSocketChannel.open(); while(true){ SocketChannel accept = serverChannel.accept(); }
accept方法监听新进来的连接,当accept方法返回的时候,返回一个包含新进来的连接的SocketChannel,
accept方法将阻塞直到有新的连接到达
非阻塞模式
将ServerSocketChannel设置为非阻塞模式,调用accept方法就是异步的了,这样就算accept没有监听到新的
连接,本地也可以去做其他的任务。
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.bind(new InetSocketAddress("127.0.0.1", 23000));
serverSocketChannel.configureBlocking(false);
while(true){
SocketChannel accept = serverSocketChannel.accept();
if(accept!=null){
//说明有新的连接,连接到服务器
}else{
//说明没有新的连接,可以去做其他事情
}
}
相关文章推荐
- Java NIO 学习(四)--ServerSocketChannel与SocketChannel
- Java Nio 十、Java NIO ServerSocketChannel
- Java NIO学习8(Selector 补充版ServerSocketChannel)
- NIO边看边记 之 ServerSocketChannel(九)
- Netty学习-03-SelectorServerSocketChannel
- 【JAVA】【NIO】10、Java NIO ServerSocketChannel
- 【Java NIO的深入研究】 ServerSocketChannel
- Netty学习之旅------写事件处理NioSocketChannel、ChannelOutbondBuffer源码分析
- netty5.0之server端NioServerSocketChannel的init和register流程
- 《Java 源码分析》:Java NIO 之 ServerSocketChannel
- Nio(九)ServerSocketChannel
- Java NIO ServerSocketChannel
- java NIO中ServerSocketChannel和SocketChannel连接的过程
- NIO之SocketChannel;ServerSocketChannel
- netty5.0之server端NioServerSocketChannel的bind分析
- NIO ServerSocketChannel 例子
- java NIO之ServerSocketChannel的使用
- Java NIO ServerSocketChannel
- Java NIO ServerSocketChannel
- Netty4.x 源码实战系列(三):NioServerSocketChannel全剖析