查看: 2544|回复: 1
打印 上一主题 下一主题

[Web Player]Socket的安全策略处理

[复制链接]
.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2012-10-25 14:04:41 |只看该作者 |倒序浏览
要在WebPlayer应用下使用Socket,使用处理WWW跨域访问的办法来解决沙箱限制问题,但一直不成功,查看日志文件会发现类似以下错误信息:
复制代码

1.Platform assembly: F:UnityEditorDataManagedCrossDomainPolicyParser.dll (this message is harmless)

2.SocketPolicyClient1: Incoming GetPolicyStreamForIP

3.

4.SocketPolicyClient1: About to BeginConnect to 127.0.0.1:843

5.

6.SocketPolicyClient1: About to WaitOne

7.

8.SocketPolicyClient1: Caught exception: 由于目标计算机积极拒绝,无法连接。
原来WebPlayer的安全沙箱对Socket的影响和WWW略有不同,下午花了好几个小时解决此问题,现简单整理给大家分享一下。
Unity安装目录里自带了一个侦听843端口的小程序,当它收到一个请求的连接字符串,它会回复一个有效的套接字策略。我Windows主机下的安装路径F:UnityEditorDataToolsSocketPolicyServer,下面有个sockpol***文件,可以命令行下执行"sockpol [--all | --local | --file policy]"。。。

all对应的策略如下:
复制代码

1.<?xml version='1.0'?>

2.<cross-domain-policy>         

3.<allow-access-from domain=""*"" to-ports=""*"" />

4.</cross-domain-policy>

local对应的策略如下:
复制代码

1.<?xml version='1.0'?>

2.<cross-domain-policy>

3.    <allow-access-from domain=""*"" to-ports=""4500-4550"" />

4.</cross-domain-policy>
file参数可以单独指定一个自定义的策略文件。
这里需要注意一下的是,我3.5.2版本下运行sockpol***时报了个错,提示缺少“mscorlib.dll”,然后我搜到了这货把它放进去,可以正常运行程序了。
程序运行后你可以使用telnet测试一下,正常情况下命令窗口如下所示:




端口侦听后,WebPlayer应用可以正常使用了,使用Security.PrefetchSocketPolicy("127.0.0.1", 843, 3000)测试返回值为***e。

最后还需要注意一点的是,如果自定义了安全策略文件,除了一些Unity不支持的标记以外,如<allow-http-request-headers-from domain>和<site-controlpermitted-cross-domain-policies>,其它用于套接字策略的格式和Flash播放器使用的是相同的,WebPlayer只支持"*"作为有效的域值设置,"to-ports"设置是必须的。



更多精彩内容,尽在web3D纳金网http://www.narkii.com/club/



【来源:unity圣典】
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

沙发
发表于 2012-10-25 21:02:02 |只看该作者
顶起
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-2 09:22 , Processed in 0.165183 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部