免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1732 | 回复: 0
打印 上一主题 下一主题

Security Sandbox of the Webplayer in U3D [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:51 |只看该作者 |倒序浏览
unity3.0版本后的webplayer加入了security sandbox特性,使用socket连接之前,会向默认端口843发送策略文件请求信息:<policy-file-request/>,如果返回信息不正确或者端口不在允许范围内,socket连接失败并且报以下异常:
  1. System.Security.SecurityException: Unable to connect, as no valid crossdomain policy was found
解决以上问题需要进行两步处理:
第一步:
在客户端socket连接之前调用以下API函数 Security.PrefetchSocketPolicy(server,port)
第二步:
开启服务器之前运行sockpol.exe,位置为unity安装目录Unity\Editor\Data\Tools\SocketPolicyServer,作用是向客户端返回策略文件信息,运行时有三个命令:--all表示接受所有port范围,--range表示接收范围是4500-4550,可以在源代码中进行修改,--file表示读取本地文件,后面跟文件路径,可以自定义port范围,自定义文件格式如下:
  1. <?xml version="1.0"?>
  2. <cross-domain-policy>
  3.     <allow-access-from domain="*" to-ports="8000" />
  4. </cross-domain-policy>
经局域网测试,连接正常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP