Protobuff是对消息体进行序列化和反序列化的操作。
- 先建一个消息体文件msg.proto
syntax = "proto3";
package Com.Yy.Control.Proto;
enum Event {
NULL = 0;
HEART = 1;
RECONNECTION = 3;
DEVICE_CHECK = 10001;
USER_LOGOUT = 10004;
}
message Message {
Event event = 1;
string deviceNumber = 2;
}
- 接下来我们需要用到protoc.exe,它是用来把上面消息体转成c#脚本,这边写一个批处理,因为我们可能会有多个.proto文件,GenProto.bat
protoc --proto_path=./src --csharp_out=../Assets/Scripts/Socket/Proto ./src/*.proto
运行完去打开unity 你就会发现 对应的C#脚本已经生成好了
假如你发现么有生成或者没有刷新,可能是你消息体有错,或者路径写的不对,修改后再试。
结合之前讲的socket中,你会看到消息体的使用:
至此,Socket的基本使用已经讲完,后续进阶的等有机会再讲。