本文主要是介绍Java NIO 之 ServerSocketChannel SocketChannel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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()方法返回的时候,它返回一个包含新进来的连接的
这篇关于Java NIO 之 ServerSocketChannel SocketChannel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!