记录:protobuf在网游中的用法(二)

原创 2012年03月25日 15:44:43

在上一篇介绍的protobuf用法(http://blog.csdn.net/herm_lib/article/details/7384613),有点偏复杂了。可以简化一下。

结构: total_len[16] + head_len[8] + head + body。

这次像上一篇介绍最后介绍的一样,把head和body分开了,这样可以让服务器对消息的处理更灵活,有时候,服务器只要head内容,这样可以针对性地只解析head,而不用把body内容也解析出来。

头定义差不多像下面的样子:

package ProtoCS;

message Head

{

            required uint32 cmd_id = 1;

            。。。。。。。。

}

各种包体定义类似下面:

message GetRoleRes

{

             required uint64 id;

             required string name;

             。。。。。

}


message GetPetRes

{

             。。。。

}

和上一篇介绍区别很大,变简单了。

组织数据的过程的过程大体介绍一下:

1. 写入16bits的总长度,这里16bits考虑用网络字节序。

2. 写入8bits的头长度。

3. 写入头内容

        ProtoCS::Head head;

        。。。。

        head.SerializeToArray(buf + 3, bufSize - 3);

4. 最后写入包体内容

        ProtoCS::GetRoleRes roleRes;

        roleRes.set_id(111122233);

        roleRes.SerializeToArray(buf + 3 + headLen, bufSize - 3 - headLen);

把整个buf+totalLen发送出去就好了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

记录:protobuf在网游中的用法

消息传递过程: client ---> gated ---> zoned CS消息结构: message Head { uint32 cmd_id; } message Bo...

内存和对象内存池技术在网游开发中的注意点和应用

愿文:http://blog.csdn.net/rabbit729/archive/2009/02/23/3928437.aspx网络游戏服务器开发技术 -------如何正确高效的使用内存和对象内存...

探讨下一步的网游(二)未来不是“游戏+SNS”而是“游戏SNS”

注:这里说下一步,其实并不是未来的事情,而是目前正在逐渐发生的事情。写这篇文章,是因为之前涉及做几个简单的网络游戏,有了些新的想法,现在虽然没有在做,但还是希望能与游戏业内各位强人交流想法,聆听教益。...
  • wkyb608
  • wkyb608
  • 2011年01月26日 15:15
  • 326

网游重要性-同步问题(二)

上一部分讲到游戏里一切参照服务端为主 简单讲技能由释放到命中的,跳数字的例子: 玩家A对野猪释放了1个寒冰箭,该技能的释放最大射程为30米。这个时候,在释放技能时,服务端确认了玩家和野猪的坐标点,...

C++学习日志之二—贪吃蛇网游化框架搭建5多线程同步

贪吃蛇网游化框架多线程同步部分

C++学习日志之二—贪吃蛇网游化框架搭建1

简要记录学习C++过程利用已有知识中搭建一个简单网游框架的过程

C++学习日志之二—贪吃蛇网游化框架搭建3通信部分

贪吃蛇网游化框架通信部分实现

网游加速器与VPN的区别

原名:S5和VPN的区别 修改版#1     好多客户问了偶同样的问题:“S5(EB)和VPN到底是什么区别?”也答应他们要写篇科普类型的文章。从通俗和游戏代理的角度上讲两者的区别就是:VPN是...
  • aqzwss
  • aqzwss
  • 2015年02月11日 01:37
  • 2717

开发一款手机格斗网游需要注意些什么

先针对问题本身解释一下。目前纯正的格斗手机网游还不存在,我也没做过,更不知道该怎么做。在PC上格斗网游也只有流星蝴蝶剑、生死格斗OL、炫斗之王等少数几款。在手机上目前还没有出现纯正意义上的格斗网游。腾...
  • hzqhbc
  • hzqhbc
  • 2014年04月18日 15:28
  • 814

网游同步处理的重要性 第一章

简单讲下游戏的结构,分为2部分:       客户端:玩家自主安装的游戏端,保存游戏资源的软件。这个软件具备接收和发出数据信息的功能。     同时也可以理解成是一个前端,将网络数据编译成游戏中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记录:protobuf在网游中的用法(二)
举报原因:
原因补充:

(最多只允许输入30个字)