0
点赞
收藏
分享

微信扫一扫

QT作业day4

书坊尚 2天前 阅读 2
1.下载protobuf的编译器,安装到系统设置环境变量
地址:https://github.com/protocolbuffers/protobuf/releases
下载对应的编译器
2.安装库文件 二选一
go get github.com/golang/protobuf/proto
go get github.com/gogo/protobuf/proto
安装go语言插件
go install github.com/gogo/protobuf/protoc-gen-gogo
生成命令protoc --gogo_out=. ./*.proto  当前目录下的协议输出到当前

协议格式

syntax = "proto3";
package protocol;

message Message {
    string avatar = 1;       //头像
    string fromUsername = 2; // 发送消息用户的用户名
    string from = 3;         // 发送消息用户uuid
    string to = 4;           // 发送给对端用户的uuid
    string content = 5;      // 文本消息内容
    int32 contentType = 6;   // 消息内容类型:1.文字 2.普通文件 3.图片 4.音频 5.视频 6.语音聊天 7.视频聊天
    string type = 7;         // 消息传输类型:如果是心跳消息,该内容为heatbeat,在线视频或者音频为webrtc
    int32 messageType = 8;   // 消息类型,1.单聊 2.群聊
    string url = 9;          // 图片,视频,语音的路径
    string fileSuffix = 10;  // 文件后缀,如果通过二进制头不能解析文件后缀,使用该后缀
    bytes file = 11;         // 如果是图片,文件,视频等的二进制
}

前端生成文件

1.安装库

npm install protobufjs

2.生成protoc的js文件到目录

npx pbjs -t json-module -w commonjs -o src/chat/proto/proto.js src/chat/proto/*.proto

src/chat/proto/proto.js 是生成的文件的目录路径及其文件名称

src/chat/proto/*.proto 是自己写的字段等

npx pbjs  -t json message.proto --es6 "proto.js"
npx pbjs  -t json message.proto --ts "proto.ts" 

使用

msg := &protocol.Message{}
proto.Unmarshal(message, msg)
举报

相关推荐

QT DAY4

Qt day4

ARM day4 作业

day4 - 日志和作业

-day4

Day4

qt图形化界面开发DAY4

0 条评论