启动时建立一个可监听连接请求的 ServerSocketChannel,并注册到 Selector,接着直接采用循环不断监听 Selector 对象的 select() 方法返回值,大于0时,处理该 Selector 上所有被选择的 SelectionKey。客户端
服务端仅需监听两种操作:连接和读取数据。
处理连接操作时,只需将连接完成后产生的 SocketChannel 注册到指定的 Selector 对象;
处理读取数据时,先从该 Socket 中读取数据,再将数据写入 Selector 上注册的所有 Channel 中。
相比于服务端程序,客户端要简单一些,只有一个 SocketChannel ,将其注册到指定的 Selector 后,程序启动另一个线程来监听该 Selector 即可。分别启动两个程序后,可以在客户点输入内容,在服务端就可以读取到输入的内
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |