找回密码
 立即注册
查看: 6937|回复: 100

[常见问题] unit3d引入protobuf库,产生的怪异问题

[复制链接]
发表于 2013-8-26 15:11 | 显示全部楼层 |阅读模式

我做的程序,客户端是用unity3d写的,服务器端是centos下用c++写的,

客户端与服务器端之前采用xml的格式相互传递消息,游戏基本功能都是正常的。

现在改为protobuf的序列化功能来传递消息,
完成protobuf的替换工作后,在开发用的pc机上用unity3d运行客户端,以及使用xocde运行客户端,都能够正常运行。

可是放到真实的iphone设备上以后,莫名其妙的消息丢失,
比如登陆过程应该要发送10个交互消息,
从服务器端的日志查看,有时只发送一个,有时发送三四个。

上述问题在unity3d和xocde
都没发现,实体iphone设备一直有问题连登陆都无法完成。

请教各位大神,有什么解决思路。
unity3d版本是4.1.5,protobuf是proto-net的那个版本,
有些文章说要将“protobuf编解码在Unity Editor中运行正常,但单独部署运行抛出TypeInitializationException的问题
  • 如果发现Unity Editor中运行正常而单独运行时不正常,可以考虑将Api Compatibility Level改为.NET 2.0而不是其Subset
这些我也试过了,都不行。显现依旧,依然是通讯 过程没有为完成。


从服务器端看日志,接受到的消息请求都回复了。
由始至终使用一个服务器,同时刻运行在unity3d测试环境下的程序都没问题。

同样的代码编译为android版本也没有问题,

怀疑:
1、怀疑过protobuf包的兼容性问题,正要着手做一个小的demo程序测试以下
2、不知道有什么unity3d的兼容性选项可以设置,或者xocde
要做什么设置?
3、实际iphone设备的运行环境和unity3d模拟有什么不同。
4、游戏替换为protobuf时,加入了大量new操作,怀疑new某个对象时失败,可是观测了以下内存,游戏在iphone上运行时,内存只是使用了100mb左右,会导致new对象失败吗?



发表于 2017-2-13 07:43 | 显示全部楼层
楼主是超人
发表于 2017-2-13 07:49 | 显示全部楼层
好帖就是要顶
发表于 2017-2-13 08:29 | 显示全部楼层
顶顶多好
发表于 2017-2-13 08:24 | 显示全部楼层
难得一见的好帖
发表于 2017-2-13 08:34 | 显示全部楼层
很好哦
发表于 2017-4-26 07:06 | 显示全部楼层
很不错
发表于 2017-4-26 07:00 | 显示全部楼层
好帖就是要顶
发表于 2017-4-26 07:02 | 显示全部楼层
顶顶多好
发表于 2017-4-26 07:16 | 显示全部楼层
真心顶
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 18:42 , Processed in 0.104888 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表