人气 281

[游戏程序] TCP + UDP 作为网游的网络架构是否合适 [复制链接]

九艺网 2017-3-10 17:02:06

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
从《大航海时代Online》公测的反映看,非常的不好,很多玩家在抱怨总是掉线,我也上去玩过了,大概在城市或者在海上,不到10分钟就要掉线一次,而且掉线方式和以前见过的游戏不一样。
当发现掉线时,周围的人都定住不动,但这时自己可以随便乱跑,在发生掉线后1分钟,游戏才提示错误,然后退出游戏状态。当我重新上线后,发现自己的位置不是在发生掉线情况时的位置,而是游戏提示掉线后所在位置。
通过抓包工具发现游戏向服务器发送数据时采用TCP,而接收采用UDP,当服务器负载过多时,UDP包无法按时(网络阻塞发送数据失败而延后发送或者丢包)发送给客户端,导致客户端在长时间内没有收到心跳包后提示错误发生掉线错误。
虽然说采用UDP在大部分时间内,数据包是可以准确的送到客户端,但是在网络异常繁忙的情况下,丢包的可能性更加大。我觉得光荣的TCP+UDP的方案不是太好,毕竟所有的数据都通过UDP传回来会存在丢包危险。如果能将一些重要的数据通过TCP回传,而人物的移动,人的衣服等不是很重要的信息通过UDP传输,即使丢包,问题也不大,而且这样看起来也更加稳定,不像现在这样老是掉线。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-24 11:51 , Processed in 0.065958 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.