1.客户端与服务器通讯全流程
- a.不同编程语言
数据对象(结构)------------序列化 ----------(二进制)------【protobuf】
------------> 文本(json,xml);
- b.打上数据标识:【服务号(2bit),命令号(2bit)】,通过标识,可以知道怎么处理该数据。
网关:----->对应的命令====》对应的服务器-----------服务号----知道哪个请求;
TCP:可靠的传输协议: 发数据— -----------回应-----------------再发;
TCP底层:粘包分包 问题;
TCP-----------------分包拆包;[size,数据内容,校验];
H5简化组合成---------------WebSocket协议------------->分包拆包协议;
WebSocket是 底层基于TCP的实现TCP封包,拆包问题 的协议;
TCP+自定义封包拆包协议+protobuf序列化工具;
Creator H5 , android, ios, websocket------ native实现
[WebSocket] + protobuf 序列化工具;
服务器也要支持WebSocket;
Protobuf作用:
协议定义工具
序列化/反序列化----------编码解码的库 dist/
编译工具--------协议----------> 目标语言的代码:C++. java;
javaScript是不一样的: -----加载协议文件----解析协议文件—运行时动态生成;
protobufs 下载地址: https://github.com/protocolbuffers/protobuf/releases
在cocos中 能够使用protobuf 需要protobufjs
官网参考文档:https://www.npmjs.com/package/protobufjs
https://docs.cocos.com/creator/3.5/manual/zh/scripting/modules/example.html
下载地址 protobufjs: https://www.jsdelivr.com/package/npm/protobufjs
在cocos 中引用该js
参考过的文档 : https://blog.csdn.net/qq_35627648/article/details/130008810