go使用protobuf如何判断接收到的数据?

a549297336 · · 4316 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

我是刚学go的小白,最近参考golang服务器写了一个通讯程序,golang作为服务器用tcp连接unity3d,传输消息用的是protobuf。但是目前遇到一个问题就是客户端发送消息过来(有可能是各种消息,角色移动,角色请求,角色死亡等)服务器这边如何判断具体应该是哪一个消息呢?我给消息加了消息头原本是想通过消息头判断的,但是才发现protobuf在反序列化的时候就必须指定类型了,例如: mp := &message.ConnetInf{} err := proto.Unmarshal(data, mp) 反序列化时必须指定mp是我发送的ConnetInf消息。但是目前问题是在我不确定mp是什么类型的时候该如何反序列化呢?不知有没有做过的大神给指点一两句。谢谢了T T

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4316 次点击  
加入收藏 微博
8 回复  |  直到 2016-10-09 08:35:50
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传