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