打算用java写一个有游戏大厅可以自由选座位的俄罗斯方块。
为每一个客户端开一个线程。但确定两个客户端对战后,如何实现之间的通信成了问题!两个客户端要同时进行游戏进程的通信和聊天信息的通信。
好像socket的一般用法无法满足这个需求了!
有看过其他的帖子,其中有提到一个在大厅设置一个公共的消息总线的想法,好像能比较好的解决问题。。。对这个完全不懂。
各位有木有写过类似的东西的,给点技术指导吧
为每一个客户端开一个线程
首先这个不行,最好用线程池或者用nio或者用mina框架实现。
但确定两个客户端对战后,如何实现之间的通信成了问题
客户1和客户b都向服务器通信,由服务器进行转发。
nio和mina框架
可以实现非阻塞通信,你自己网上找下这方面的资料,比较好找的。
还有“客户1和客户b都向服务器通信,由服务器进行转发。”
这个说的有点泛。。。我想问的是用什么机制?感觉socket的阻塞式通信无法完成实时传递游戏进程的功能???
这个和前面说的一样,用了nio或mina框架,你就可以非阻塞通信,而不是阻塞模式。
具体等你能应用非阻塞通信之后你就懂了。