当前位置:   article > 正文

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

protobuf粘包拆包 c++

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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 接下来我们需要用到protoc.exe,它是用来把上面消息体转成c#脚本,这边写一个批处理,因为我们可能会有多个.proto文件,GenProto.bat
protoc --proto_path=./src  --csharp_out=../Assets/Scripts/Socket/Proto ./src/*.proto
  • 1

这里写图片描述
这里写图片描述这里写图片描述

运行完去打开unity 你就会发现 对应的C#脚本已经生成好了
这里写图片描述
假如你发现么有生成或者没有刷新,可能是你消息体有错,或者路径写的不对,修改后再试。

结合之前讲的socket中,你会看到消息体的使用:
这里写图片描述

至此,Socket的基本使用已经讲完,后续进阶的等有机会再讲。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/117985
推荐阅读
相关标签
  

闽ICP备14008679号