动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网

获取选择键集合的迭代器

好的

2020.05.15

为什么当有新的就绪通道的时候,迭代器返回的第一个键是ServerSocketChannel的,而没有新的就绪通道时,迭代器返回第一个键总是SocketChannel的?

添加回答

回答(1)

军哥

老师参与

SocketChannel是用于TCP网络连接的套接字接口,它一般用来作为客户端的套接字,它有点类似于java中的Socket类,我们可以用它的read方法来读取数据,也可以用它的write方法来写入数据;

ServerSocketChannel是用于监听TCP连接的通道,它类似于java网络编程中的ServerSocket,我们可以调用它的open方法来打开一个通道,然后调用其bind()方法来绑定到某个地址上,然后通过accept()方法每次获取一个客户端的连接;

当有新的就绪通道的时候,说明已经建立连接,可以接收请求,返回是的ServerSocketChannel,没有新的就绪通道,没有建立连接时就返回SocketChannel;

时间:05-17 02:57 查看回复 (1) 回复 0 0 举报

好的

没有建立连接时就是在监听已连接的SocketChannel的读写操作是么?如selectionKey.isReadable()为true就读数据?还有selectionKey.isWritable()方法总是为true的吗?

时间:05-17 14:12 回复 举报

回复