V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Zhuzhuchenyan
V2EX  ›  互联网

关于国内 UDP 网络环境的问题

  •  
  •   Zhuzhuchenyan · 2020-06-25 17:51:14 +08:00 · 3999 次点击
    这是一个创建于 1612 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Hello 又是我,

    背景是这样的,

    上回书说到和小伙伴一起做了一个 1v1 小游戏,目前已经在小群体发布了,目前平均每小时也有 3-4 人在线对战了。然后有玩家反应在用蜂窝网络的时候,特别是地铁上,会遇到断线的问题。

    服务端对此表现为 socket.poll(read)成功后 socket.available 返回 0,或者 socket.poll(Write)返回 false

    基于此小弟要做一个断线重连的机制,问题就来了,目前游戏是 UDP,TCP 双轨制,这是当时一拍脑袋的想法,因为基于状态同步的状态想通过 tcp 发送,但是对客户端每秒采样的移动速度和位置(大概 10-15HZ 频率)采用了 UDP 来发送。

    断线重连时目前的想法是要同时判断 socket 是否联通,以及客户端的新的 ip endpoint 是否能回应 UDP 的响应。

    然后问题来了, 团队里一直有声音说要弃用 TCP,简单在上层封装一个可靠点的 UDP,这样尤其是在断线重连时要做的逻辑少很多,暂且不说可靠点的 UDP 的工作量的问题,一直听说国内网络运营商对 UDP 包不怎么待见,但是一直不知道是为啥,能请各位说一下网络上盛传已久的国内的 UDP 环境不好的原因是什么么?

    当然如果仅仅是个传言(谣言),那就再好不过了。

    感谢, zhuzhu

    11 条回复    2020-08-02 09:33:44 +08:00
    terrytw
        1
    terrytw  
       2020-06-25 18:50:36 +08:00
    三家都针对 UDP 流量有明显的 QOS
    电信和联通较为保守
    移动大概做了个白名单,不在名单里的 UDP 流量有时候都直接给你全丢了
    GreatHumorist
        2
    GreatHumorist  
       2020-06-25 19:06:05 +08:00
    什么架构? C/S 还是 P2P?
    Zhuzhuchenyan
        3
    Zhuzhuchenyan  
    OP
       2020-06-25 19:09:58 +08:00
    Zhuzhuchenyan
        4
    Zhuzhuchenyan  
    OP
       2020-06-25 19:17:08 +08:00
    @terrytw 好的,也就是说实际效果还要根据使用时段不同,或者是地域不同还会有差别。有的时段非常好,有的时段就会很差?
    Zhuzhuchenyan
        5
    Zhuzhuchenyan  
    OP
       2020-06-25 20:13:15 +08:00
    仔细想了想,这个问题是个伪问题。
    既然担心 udp 丢包那么从一开始就不应该用,毕竟移动数据丢了,光有状态数据,这个游戏也根本完不成。
    Kaiyuan
        6
    Kaiyuan  
       2020-06-25 20:17:20 +08:00
    我倒是想知道省内隧道里面是不是也有限制,我用隧道组网打算连两个地方的监控,但是会隔秒限速。
    opengps
        7
    opengps  
       2020-06-25 20:18:35 +08:00
    udp 感觉不谈重用,是否发送成功全靠设计响应包进行的回复
    既然已经用了 tcp,何不将 tcp 的改进的健壮一点,直接公用
    cheng6563
        8
    cheng6563  
       2020-06-25 21:53:07 +08:00 via Android
    ??一般不是就是为了能自己设计断线重发机制才会用 udp 吗?
    terrytw
        9
    terrytw  
       2020-06-26 10:26:37 +08:00
    @Zhuzhuchenyan 这就跟墙一样,到底他们规则如何谁也说不清,只能通过使用中的感受摸索总结规律
    我总结的规律就是上面说到的那些了
    Zhuzhuchenyan
        10
    Zhuzhuchenyan  
    OP
       2020-06-26 15:09:22 +08:00
    @terrytw 好的,目前已经决定全部流量走 tcp 了(捂脸)
    x1911
        11
    x1911  
       2020-08-02 09:33:44 +08:00
    晕,最近正装备上 udp 解决延迟问题,因为实在 tcp 卡顿和掉 ping 在晚上太严重
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 103ms · UTC 23:00 · PVG 07:00 · LAX 15:00 · JFK 18:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.