Unity + Socket + Protobuf+异步+粘包拆包断包 之 四

Protobuff是对消息体进行序列化和反序列化的操作。
项目工程在此
- 先建一个消息体文件msg.proto

syntax = "proto3";

package com.shapejoy.remotecontrol.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的基本使用已经讲完,后续进阶的等有机会再讲。

猜你喜欢

转载自blog.csdn.net/yy1042001041/article/details/81132865