Unity3D使用TCP/IP协议,传递protocol buffer消息protobuf-net
2016-11-15 16:06
671 查看
原文:http://my.oschina.net/faint/blog/296785
经过测试是可行的。
第一部分 dll
1 下面大多数内容,都是使用c#编译的dll来实现的。
2 编译为dll后,要拖放到unity3d的Assets里面,才能using到。
3 有以下类似错误,就是使用了非.net 2.0编译的dll。注意项目必须是在.net 2.0版本编译的才能正常在unity3d当中使用。
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.Versioning.TargetFrameworkAttribute' from assembly 'MyModel'
4 应该不能用MonoDevelop编译下面会提到的Serializer部分(编译不出dll,会报错)。需用vs编译。
第二部分 tcp/ip
主要用的是TcpClient,NetworkStream,BitConverter.
第三部分 protobuf-net
FQ下载安装:http://code.google.com/p/protobuf-net/
数据结构编译成dll:
先新建解决方案,新建库,添加下载的full/unity/dll。具体代码如下:
编译完后,生成dll下面马上用到(同时也要拖放到unity/assets下)。
第三部分 下
因为protobuf-net的序列化和反序列化用的是jit,ios不支持jit,所以需采用编译成dll的方式来解决问题:
vs中,新建命令行程序,添加protobuf-net/full/unity/dll,添加刚生成的dll,代码如下:
这里按运行后,会在目录下生成:CSProtoSerializer.dll,一样拖放到unity/assets下。
其中typeof()的,就是proto数据类型,在上半部分有定义的内容。
第四部分 unity代码
执行完以上步骤,unity/assets下应该有这么几个dll:
protobuf-net/full/unity/dll
proto的data的dll(第三部分)
data的序列化的dll(第三部分下,运行后生成的那个)
还有用于tcp连接的dll(第二部分)
那么实际在unity当中调用的代码则是:
新建个script,随便挂在比如camara的组件里即可。
经过测试是可行的。
第一部分 dll
1 下面大多数内容,都是使用c#编译的dll来实现的。
2 编译为dll后,要拖放到unity3d的Assets里面,才能using到。
3 有以下类似错误,就是使用了非.net 2.0编译的dll。注意项目必须是在.net 2.0版本编译的才能正常在unity3d当中使用。
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Runtime.Versioning.TargetFrameworkAttribute' from assembly 'MyModel'
4 应该不能用MonoDevelop编译下面会提到的Serializer部分(编译不出dll,会报错)。需用vs编译。
第二部分 tcp/ip
FQ下载安装:http://code.google.com/p/protobuf-net/
数据结构编译成dll:
先新建解决方案,新建库,添加下载的full/unity/dll。具体代码如下:
第三部分 下
因为protobuf-net的序列化和反序列化用的是jit,ios不支持jit,所以需采用编译成dll的方式来解决问题:
vs中,新建命令行程序,添加protobuf-net/full/unity/dll,添加刚生成的dll,代码如下:
其中typeof()的,就是proto数据类型,在上半部分有定义的内容。
第四部分 unity代码
执行完以上步骤,unity/assets下应该有这么几个dll:
protobuf-net/full/unity/dll
proto的data的dll(第三部分)
data的序列化的dll(第三部分下,运行后生成的那个)
还有用于tcp连接的dll(第二部分)
那么实际在unity当中调用的代码则是:
相关文章推荐
- Unity3D使用TCP/IP协议,传递protocol buffer消息protobuf-net
- Unity3D 使用 TCP/IP 协议,传递 protocol buffer 消息( protobuf-net
- Unity3D使用TCP/IP协议,传递protocol buffer消息
- Unity3D传递ProtoBuf-net消息测试
- Unity3D传递ProtoBuf-net消息测试
- [Unity3D]简单使用Protobuf-net(三)
- [Unity3D]简单使用Protobuf-net(二)
- Protobuf-net 在Unity3D中使用的小技巧 (解决JIT错误)
- 使用protobuf传递网络消息
- [Unity3D]简单使用Protobuf-net(二)
- [Unity3D]简单使用Protobuf-net(三)
- [Unity3D]简单使用Protobuf-net(一)
- [Unity3D]简单使用Protobuf-net(一)
- Unity3D protobuf-net使用方式
- 使用protobuf和socket实现服务器间消息的传递
- Unity3D protobuf-net使用方式 (源码方式)
- [Unity3D]简单使用Protobuf-net(二)
- [Unity3D]简单使用Protobuf-net(三)
- [Unity3D]简单使用Protobuf-net(一)
- Unity使用protobuf-net实现的网络框架