将阻塞的Socket对象转换为SocketChannel的套接字?

时间:2011-11-20 00:14:42

标签: java sockets selector nio socketchannel

这可能听起来很奇怪。我已经基于每个套接字结构的线程创建了一个游戏服务器(是的,每个用户只有一个线程;响应由工作线程发送给客户端)。我生成的线程首先对用户进行身份验证并处理登录,之后它只接收数据并将其排队等待处理。身份验证部分非常关键并且需要花费很长时间才能实现,并且需要花费很长时间再次实现,所以我想,在身份验证完成后,我可以将我拥有的阻塞套接字转换为SocketChannel的套接字,以便选择器可以以非阻塞的方式处理它的消息?

1 个答案:

答案 0 :(得分:2)

你做不到。你必须从SocketChannel开始,然后你可以在阻塞模式下使用socket(),或者在阻塞或非阻塞模式下使用通道本身。