本人引用但未注明的版权资料,可邮件联系 (不是故意只是懒~)
人还是比较懒,虽然更新了很多代码(同时维护四个以上的框架,还是没时间更新文档)每次打开又要重新组织语言,还是得保证人能看懂(尽管写的比较散)
像 Anywhere 现在叫 Zen 新增了大量模块 (比如 ECS版网络Module,Multiplayer 多人联机 Module 等, 哦 当然 Kpb序列化终于实现C#版本,(基于最早的C和Go版本已经过去了近两年,所以整个来说确实
挺墨迹的, 倒不是难而是懒,总觉得同一个算法写三次感觉脑子瓦特了,哈哈~
skynet 最早是为了解决云风大佬一些特异化场景而驱动开发的,但现在已经完全像个学术派 ( 把Go写成浓浓的C style味),果然还是喜欢折腾
前阵子翻了翻几年的库,自我感觉写的一般,又拿出折腾了一番
总之尽快更新新的文档,后续先提供可用版本,至于开源的事再考虑考虑,(毕竟国内,吃干抹净,过河拆桥的人不在少数,至少本人用开源保留 copyright, 也会提 issus 促进发展 )
Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。本文只介绍 syntax = proto3 的协议语法。
| .proto | 注释 | C++ | Python | Go | C# |
|---|---|---|---|---|---|
| double | 定长编码 | double | float | float64 | double |
| float | 定长编码 | float | float | float32 | float |
| int32 | 变长编码,负数编码效率低,可使用sint32 |
int32 | int | int32 | int |
| int64 | 变长编码,负数编码效率低,可使用sint64 |
int64 | int/long | int64 | long |
| uint32 | 变长编码 | uint32 | int/long | uint32 | uint |
| uint64 | 变长编码 | uint64 | int/long | unit64 | ulong |
| sint32 | 变长编码,对负数编码比int32更有效率 |
int32 | int | int32 | int |
| sint64 | 变长编码,对负数编码比int64更有效率 |
int64 | int/long | int64 | long |
| fixed32 | 总是4字节,如果值大于2^28比uint32更有效率 |
uint32 | int/long | uint64 | ulong |
| fixed64 | 总是8字节,如果值大于2^56比uint64更有效率 |
uint64 | int/long | uint64 | ulong |
| bool | 1或0的变长编码 | bool | boolean | bool | bool |
| string | 必须是UTF-8编码 |
string | str/unicode | string | string |
| bytes | 可包含任意的字节顺序 | string | str | []byte | ByteString |