1)筆記
1)客戶端發送數據,粘包的處理
(1)2個字節的包頭 + 數據體
(2)協議內部,分爲stype + ctype + json/str/proto Message
2)protobuf協議版本的問題
(1).net的問題,導致不能用官方的
(2)別人有寫好.net 3.5的,針對proto3版本的庫
(3)c++這塊生成protoc生成c#代碼報錯
3)ProtoGen:生成C#代碼
protobuf2.0_unity:protobuf運行時所依賴的環境
4)二進制:c#對應的是byte
5)data_viewer
write_ushort_le: 2
write_uint_le: 4
6)Array.Copy(5個參數)
源頭
從源頭拷貝位置開始位置
目的
目的開始位置
拷貝多長
7)proto_man: 用戶層協議,封包拆包
stype: 2字節
ctype: 2字節
utag: 4字節
body
因此HEADER是8個字節,雖然客戶端不用管utag,但是我們utag作爲保留位
8)tcp_package: tcp粘包問題,讓服務器收到後,能順利解出來數據
(1)size
(2)body
9)protobuf標準的序列化函數