比方说两个人下棋,那他们之间的socket通信怎么办?比如A发
给B,那首先得A发给sever消息,那么sever 怎么跟B通信呢?
难道还要sever主动跟B打招呼?

解决方案 »

  1.   

    b也要跟sever联系啊,sever应该只是把双方联系起来而已吧
      

  2.   

    我想SERVER只是一个中转站他的功能只是取得双方的IP地址和得到一些其他的信息比如说得到现在有多少人在线了这些登陆服务器上必须知道的信息和你的级别登陆是否成功等。
    真正等到下棋开始的时候是下棋双方建立点对点通信跟服务器没关系
      

  3.   

    这问题跟我们的一个作业有关。我在组中负责服务器端程序。作业是设计
    一个跟联众类似的网络游戏,支持多个二人游戏。我的思路是每个客户连接
    后为其开一个线程,给其一个socket并把socket句柄赋给一个Hashmap,以便
    以后在同一桌上的两个玩家的通信。然后每个线程负责接收和处理输入流,
    对输出流和数据库作出相应操作。但是超时机制如何,高手讲一讲?
      

  4.   

    我也想知道Server如何能够主动和client端通讯。听人说推的技术可以实现。推的技术是如何实现的?我一直没有找到相关资料。我做的都是客户端定时给服务器发送链路检测包。给我一点灵感!!
      

  5.   

    to diskcoy_kao(猫和耗子动刀找死!) :什么叫游戏开始就是点对点连接
    呢,服务端要记录游戏信息的,如果不通过服务器,已经建立的两个客户端
    socket怎么联系啊。我用的是TCP协议啊。
      

  6.   

    网络游戏应该是点对点的连接,不应该是通过服务器来中转,
    我的思路是双方各自建一个服务器,然后发送信息到对方的server socket,就不存在服务器首先应答的问题!
    大家讨论讨论!
      

  7.   

    forulong(龙行天下) : 我打算是当用户开始游戏以后,服务器定期发询问信息让客户端回应。如果客户掉了。当然它就不能回应了。(不知道有没有更好的)
      

  8.   

    不知道超时跟断线,java是不是当成一样呢。
    如果客户端断线了,服务器应该有异常产生吧