名字太奇怪 发表于 2013-8-26 15:11

unit3d引入protobuf库,产生的怪异问题


我做的程序,客户端是用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对象失败吗?



angel29hao 发表于 2017-2-13 07:43

楼主是超人

天堑无涯 发表于 2017-2-13 07:49

好帖就是要顶

葉明豬 发表于 2017-2-13 08:29

顶顶多好

葉明豬 发表于 2017-2-13 08:24

难得一见的好帖

bobparr 发表于 2017-2-13 08:34

很好哦

向往天空 发表于 2017-4-26 07:06

很不错

sicsic 发表于 2017-4-26 07:00

好帖就是要顶

司大林 发表于 2017-4-26 07:02

顶顶多好

deadpang 发表于 2017-4-26 07:16

真心顶
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: unit3d引入protobuf库,产生的怪异问题