johnsneakers
V2EX  ›  问与答

想请教一下做游戏的朋友,数据传输用的是字节还是 json

  •  
  •   johnsneakers · Mar 29, 2018 · 3082 views
    This topic created in 2992 days ago, the information mentioned may be changed or developed.

    现在接手了一个项目(80%完成度),服务器客户端协议是长链接+字节方式传输数据,游戏属于休闲挂机游戏。

    之前一直习惯 json 直来直去,调错方便。 现在这个项目我查 bug 可以说 50%的时间花在算字节.. 在纠结要不要改成 json,改得化不怕工作量(前后端都是我在写),就是担心日后出现超出我想象不好处理又得改回来的问题

    想在这里问下经验比较丰富的朋友该如何处理。

    11 replies    2018-03-30 09:37:19 +08:00
    choury
        1
    choury  
       Mar 29, 2018
    写个解析工具不就行了,protobuf 也是二进制的啊,二进制肯定效率高些
    ryV60s
        2
    ryV60s  
       Mar 29, 2018
    讲道理,前后端数据格式前期定好了,后面用不着去调试的。
    说明前后端数据同步这块没写好啊,跟用啥没关系。
    建议 Protobuf。
    misaka19000
        3
    misaka19000  
       Mar 29, 2018 via Android
    json 有点浪费带宽
    MeteorCat
        4
    MeteorCat  
       Mar 29, 2018 via Android
    protobuf
    sudoz
        5
    sudoz  
       Mar 29, 2018
    看场景
    如果是走 HTTP,和浏览器 APP 做数据交互,必然是 JSON
    如果是内网服务化系统间的数据交互,走 TCP,建议 protobuf
    mozutaba
        6
    mozutaba  
       Mar 29, 2018
    protobuf,不用这个真的是天天算字节。
    json 浪费带宽,不是实时类的游戏到也没啥问题。
    changnet
        7
    changnet  
       Mar 29, 2018 via Android
    休闲游戏你用 json 可以,arpg 你用 json 看看,怕你的 cpu 解析协议都解析不过来。成熟的框架基本用字节流或者 protobuf。不明白查 bug 为什么算字节流,一般通信模块是最先稳定下来的,以后调功能就不需要算。数据不对查下发送接收就行。
    MeteorCat
        8
    MeteorCat  
       Mar 29, 2018 via Android
    啊哈,你们公司是武侠页游吧?我记得不少公司都是那套源码,基本上都是靠 C/C++结构体加密序列化传输,常常数据需要对下 sizeof 对不对
    johnsneakers
        9
    johnsneakers  
    OP
       Mar 29, 2018
    @changnet 因为这边做还是草台班子,刚开始。 经常遇到一个接口服务器传长了客户端解析错位,然后就要一个一个 debug 或者肉眼去算长度。看到大家说的,看来是我经验不足的问题了。。

    @MeteorCat 答错了,我 golang 写的
    0987363
        10
    0987363  
       Mar 29, 2018 via Android
    @johnsneakers golang 还用自定义二进制那不是蛋疼。。
    yunchen2
        11
    yunchen2  
       Mar 30, 2018
    我们在用 protobuf
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2936 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 12:52 · PVG 20:52 · LAX 05:52 · JFK 08:52
    ♥ Do have faith in what you're doing.