请教大家,类似于联众游戏的通讯问题该如何解决?(100分)

  • 主题发起人 主题发起人 mmboy
  • 开始时间 开始时间
M

mmboy

Unregistered / Unconfirmed
GUEST, unregistred user!
类似于联众这种网络游戏,他们使用的通讯协议是什么呢?
TCP or UDP
他们各有优缺点,TCP稳定但是慢,而且当客户连接多的时候,服务器资源会消耗相当严重。
UDP速度和资源消耗方面倒是可以不错的,但是它是不稳定的传输。

我曾想过,模拟TCP那样使用UDP进行信息的回馈。但是我很怀疑这样的效率会不会比TCP更低。

我看了看,联众的服务器,很多时候都是好几百人,上千人同时在线。我想着不仅仅是服务器性能的问题,在程序架构上面都需要考虑的。

这些问题该如何解决呢?
 
你没有见到联众的服务器和游戏房间都有人数限制吗,
毕竟人数太多,采用轮寻机制发送数据包,如果一个房间人太多,也发不过来了。
只好限制下人数,使每个房间的轮寻次数保持在一个合适的范围。
如果一个房间有400人那么反应就比200人100人的房间慢多了。
在400人的房间下棋,掉线后,重新回到棋室,要老半天才能打开吊线的棋盘。
如果这个棋室没有什么人,那么一进棋室就能打开吊线的棋盘。
 
to biggo:
这的确是这样的,对于效率的问题,不可能是无限制的追求,但是为了提供一个良好的服务,
还是应该选择一个优秀的解决方案。由于我没有这方面的经验,不知道如何去估算资源的消耗
问题。
 
后退
顶部