为什么我们需要Java NIO选择器?
如果我们要创建一个在线聊天服务器,我认为我们应该只需要一个服务器socketchannel,不是吗
如果我们只有一个ServerSocketChannel,为什么我们需要一个选择器
谁能给我一个真正的项目例子,需要使用选择器
谢谢
你可以在下面搜索框中键入要查询的问题!
如果我们要创建一个在线聊天服务器,我认为我们应该只需要一个服务器socketchannel,不是吗
如果我们只有一个ServerSocketChannel,为什么我们需要一个选择器
谁能给我一个真正的项目例子,需要使用选择器
谢谢
# 1 楼答案
当你在一个
ServerSocketChannel
上accept()
时,你得到的是一个新的SocketChannel
,然后read()
和write()
与该客户机通信您的选择代码通常会
select()
,然后遍历所选的键,接受任何isAcceptable()
的键(从而打开一个新通道),但也会读取和写入任何isReadable()
或isWritable()
的键(可能是您接受的客户机通道之一)