Unity手机游戏之Java版服务端开发一

  • 发布时间:2016-01-04 15:41:50,加入时间:2015年12月25日(距今3042天)
  • 地址:中国»北京»海淀:上地信息路科实大厦
  • 公司:北京菜鸟在线教育科技有限公司, 用户等级:普通会员 已认证
  • 联系:白雪峰,手机:15210153199

终于这个元旦假期在《芈月传》的陪伴下落下了帷幕,小菜鸟又要开始和大家一起分享心得了,我们今天要讲点什么呢?

Unity~unity~菜鸟在线主讲unity!

没错,还是跟大家分享一下关于unity手游的技术知识。

大家都知道开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信。之前我们介绍了Unity游戏前端使用protobuf的方法。今天我们来谈谈服务端如何使protobuf。在游戏服务端语言百花齐放的今天,除了比较传统的c/c++外,其实Java,Erlang,Python都有很多团队还在使用。
 

那我们就来一下Java作为服务端开发语言。在国内很多出色的页游和手游都是采用Java作为服务端语言的。今天主要探讨如何简化Protobuf程序的开发。

按照传统的开发流程,都是如下:

1.先编写proto文件格式,例如

看图

2.运行编译程序,生成实体类Person
 

3.在程序中可以直接使用Person类的相关函数进行序列化和反序列化

上面的流程看似很方便了,有什么问题呢?还能不能再改进呢?我们先看看生成的Person类代码吧,竟然有几千行。
实际上我们只是包含了3个变量而已,可读性大大降低了。其次,开发过程每次都得借助外部的编译工具来生成代码。

于是我们可能就有了一个简单的思路。自己编写Person的类,然后通过外部的api,直接对这个类进行序列化和反序列化。
直接抛弃了protoc工具。

这个思路,已经有人实现出来了,最早是在c#语言版本的protobuf-net实现了。它利用c#的Attribute(类似Java的Annotation注解)+反射来实现普通实体类的Protobuf序列化和
反序列化。
 

联系我时请说明来自志趣网,谢谢!

免责申明:志趣网所展示的信息由用户自行提供,其真实性、合法性、准确性由信息发布人负责。使用本网站的所有用户须接受并遵守法律法规。志趣网不提供任何保证,并不承担任何法律责任。 志趣网建议您交易小心谨慎。