Unity3D Webplayer Socket网络通信经验分享
Unity3D Webplayer发布时,由于安全沙箱的问题,在Socket通信、Dll引用时会遇到一些麻烦,
但最终证明:Unity3D Webplayer模式下,完全可以使用Socket 通信和 自己编写的Dll(使用VS C#类库创建的Dll),但要注意以下方面。
1、Socket通信程序与C# Win32程序无差别,但不能使用System.Runtime.* System.Reflection.* System.Threading等命名空间下的类,超过.net framework 2.0的类库也不能用。
2、引用自编的dll文件,dll中也不能使用System.Runtime.* System.Reflection.* System.Threading等命名空间下的类。
3、Socket通信数据传输可以使用JSON格式对数据进行序列化和反序列化, 但在WebPlayer模式下JSON.net类库无法使用,可以使用MiniJson等类代替。
4、WebPlayer模式下,必须要进行策略验证,可以参见帮助文档,否则无法通信。
http://www.xuanyusong.com/archives/1948 这边博客关于Socket和Http通信讲的很好,可以参考,但其代码无法移植到WebPlayer模式,根据以上思路,相信你一定可以搞定!
PS:
尤其是想在WebPlayer下使用System.Threading.Timer,就不用想了!
当然,比较好用的.NET Remoting也是无法应用咯。