现在接手了一个项目(80%完成度),服务器客户端协议是长链接+字节方式传输数据,游戏属于休闲挂机游戏。
之前一直习惯 json 直来直去,调错方便。 现在这个项目我查 bug 可以说 50%的时间花在算字节.. 在纠结要不要改成 json,改得化不怕工作量(前后端都是我在写),就是担心日后出现超出我想象不好处理又得改回来的问题
想在这里问下经验比较丰富的朋友该如何处理。
1
choury 2018-03-29 20:06:42 +08:00
写个解析工具不就行了,protobuf 也是二进制的啊,二进制肯定效率高些
|
2
ryV60s 2018-03-29 20:10:15 +08:00
讲道理,前后端数据格式前期定好了,后面用不着去调试的。
说明前后端数据同步这块没写好啊,跟用啥没关系。 建议 Protobuf。 |
3
misaka19000 2018-03-29 20:16:53 +08:00 via Android
json 有点浪费带宽
|
4
MeteorCat 2018-03-29 20:17:29 +08:00 via Android
protobuf
|
5
sudoz 2018-03-29 20:17:43 +08:00
看场景
如果是走 HTTP,和浏览器 APP 做数据交互,必然是 JSON 如果是内网服务化系统间的数据交互,走 TCP,建议 protobuf |
6
mozutaba 2018-03-29 20:20:46 +08:00
protobuf,不用这个真的是天天算字节。
json 浪费带宽,不是实时类的游戏到也没啥问题。 |
7
changnet 2018-03-29 20:22:13 +08:00 via Android
休闲游戏你用 json 可以,arpg 你用 json 看看,怕你的 cpu 解析协议都解析不过来。成熟的框架基本用字节流或者 protobuf。不明白查 bug 为什么算字节流,一般通信模块是最先稳定下来的,以后调功能就不需要算。数据不对查下发送接收就行。
|
8
MeteorCat 2018-03-29 20:28:03 +08:00 via Android
啊哈,你们公司是武侠页游吧?我记得不少公司都是那套源码,基本上都是靠 C/C++结构体加密序列化传输,常常数据需要对下 sizeof 对不对
|
9
johnsneakers OP |
10
0987363 2018-03-29 21:52:59 +08:00 via Android
@johnsneakers golang 还用自定义二进制那不是蛋疼。。
|
11
yunchen2 2018-03-30 09:37:19 +08:00
我们在用 protobuf
|