Java NIO 之 ServerSocketChannel/SocketChannel
ServerSocketChannel介绍
Java NIO中ServerSocketChannel是一个可以监听新进来的TCP 连接的通道。
既然是监听新的TCP连接,因此ServerSocketChannel一般用于服务器端,与Socket网络编程中的ServerSocket功能类似。
在一般的编程实现的逻辑如下:
/*
* 既然是服务器端,肯定需要一个ServerSocketChannel来监听新进来的TCP连接。
* */
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
//监听指定的端口号
serverSocketChannel.socket().bind(new InetSocketAddress(9999));
//检测是否有客户端连接进来
while(true){
SocketChannel socketChannel = serverSocketChannel.accept();
//do something....
}
//在使用完毕后,会进行关闭
serverSocketChannel.close();
以上的逻辑基本与Socket编程的服务器一致。
上面的代码中通过 ServerSocketChannel.accept() 方法监听新进来的连接。当 accept()方法返回的时候,它返回一个包含新进来的连接的