打算用java写一个有游戏大厅可以自由选座位的俄罗斯方块。
为每一个客户端开一个线程。但确定两个客户端对战后,如何实现之间的通信成了问题!两个客户端要同时进行游戏进程的通信和聊天信息的通信。
好像socket的一般用法无法满足这个需求了!
有看过其他的帖子,其中有提到一个在大厅设置一个公共的消息总线的想法,好像能比较好的解决问题对这个完全不懂。
各位有木有写过类似的东西的,给点技术指导吧

解决方案 »

  1.   

    为每一个客户端开一个线程
    首先这个不行,最好用线程池或者用nio或者用mina框架实现。但确定两个客户端对战后,如何实现之间的通信成了问题
    客户1和客户b都向服务器通信,由服务器进行转发。
      

  2.   

    "最好用线程池或者用nio或者用mina框架实现。"
    这句的意思是3个知识点并列,用哪个个都可以吗???
    线程池我比较了解,但nio和mina框架都没接触过,能不能提供一些入门学习的链接???还有“客户1和客户b都向服务器通信,由服务器进行转发。”
    这个说的有点泛我想问的是用什么机制?感觉socket的阻塞式通信无法完成实时传递游戏进程的功能???
    麻烦再指导下,感激不尽。
      

  3.   

    nio和mina框架
    可以实现非阻塞通信,你自己网上找下这方面的资料,比较好找的。还有“客户1和客户b都向服务器通信,由服务器进行转发。”
    这个说的有点泛我想问的是用什么机制?感觉socket的阻塞式通信无法完成实时传递游戏进程的功能???
    这个和前面说的一样,用了nio或mina框架,你就可以非阻塞通信,而不是阻塞模式。
    具体等你能应用非阻塞通信之后你就懂了。