首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

as3.0 Socket连接有关问题

2012-02-04 
as3.0 Socket连接问题后台代码是C#我前台做了一个网站,我把我的网站配制在IIS下后还指定了域名,通过flash

as3.0 Socket连接问题
后台代码是C#

我前台做了一个网站,我把我的网站配制在IIS下后还指定了域名,通过flash里面的Socket.connect联接成功,可是addEventListener(Event.CONNECT, connectHandler);使终不执行这个事件里面的代码
如果前台不是通过域名访问(localhost)的话就没事这是怎么回事呢?请高手解答下

[解决办法]
安全沙箱,需要安全策略
[解决办法]
添加 站点信任。 
IE的option的安全选项卡 
添加信任站点。

=======================

Flash Player在你的socket.connect(”domain”,port)运行之前,会向你的socket服务器的843端口(据说Adobe已经向相关管理机构申请保留843端口给Flash Player用)发送一个字符串 “ <policy-file-request/>”,这个时候如果你有一个服务在监听843端口那么收到这个字符串之后,直接按照XML格式发回策略文件就解决了。(注意发回的时候记得加一个截止字符”\0″) 

当然你也可以不用843端口自己设置一个端口。因为Flash Player如果在843端口得不到信息,就会检查你是否在你的Flash文件里面自己添加了指定的获取通道,你可以定义一个自己的端口。不过这个时候你不能用http方式,而要用xmlsocket方式。(相当于自动帮你新建了一个xmlsocket对象,然后链接你指定的主机和端口)。比如你想用 1234端口可以在你的Flash里面加这一句 Security.loadPolicyFile(“xmlsocket://www.xxx.com:1234”),需要注意的是这一句要加在你的 socket.connect前面。 

还有最后一个办法,就是在你的socket连接端口监听这个请求。比如你用的是 socket.connect(”192.168.1.100″,8888),那么在你的服务器加一段接收字符串” <policy-file- request/>”的代码,当接到这个字符串时将策略文家按照xml格式发到客户端。 
<cross-domain-policy> 
<allow-access-from domain="*" to-ports="*" /> 
</cross-domain-policy> 

热点排行