关于JAVA非阻塞SOCKET服务器写一个对战游戏服务器的实例。 150

我想写一个游戏服务器,之前采用的是阻塞方式的SOCKET。我也知道阻塞方式不佳,想改写成为一个非阻塞方式的。但是,我不知道该如何用非阻塞方式来保存已建立的SOCKET连接... 我想写一个游戏服务器,之前采用的是阻塞方式的SOCKET。我也知道阻塞方式不佳,想改写成为一个非阻塞方式的。但是,我不知道该如何用非阻塞方式来保存已建立的SOCKET连接。例如我要向某个特定的SOCKET写入数据,不知道这个SOCKET要怎么存,怎么取。请指教。100分 展开
 我来答
302652034_bai
2014-05-10 · TA获得超过4145个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1538万
展开全部
直接用数组或者集合来保存。
服务端socket在线程中等待连接,一旦获取到连接就保存返回的socket句柄,启动一个新的线程来从socket中读取消息。
追问
以前阻塞方式我会存,但是非阻塞方式不会。请问是一样的吗?
追答
非阻塞的方式也是差不多的,不过保存的是Selector的对象,为SocketChannel注册Selector。
然后再线程中获取返回的SelectionKey,中key中可以获取到数据流进行读写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式