加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash客户端XMLSocket未连接到服务器

发布时间:2020-12-15 19:48:02 所属栏目:百科 来源:网络整理
导读:我有一个Flash客户端,我想连接到服务器.两者都使用localhost和端口50000,因此不应存在任何跨域问题.我还在发布设置中设置了“仅限访问网络”.当我调用XMLSocket连接时,服务器似乎获得了新的连接.但是,不会使用success = true调用XMLSocket.onConnect回调. 关
我有一个Flash客户端,我想连接到服务器.两者都使用localhost和端口50000,因此不应存在任何跨域问题.我还在发布设置中设置了“仅限访问网络”.当我调用XMLSocket连接时,服务器似乎获得了新的连接.但是,不会使用success = true调用XMLSocket.onConnect回调.

关于可能出错的任何想法?

这是用于创建套接字的ActionScript.

function myOnConnect(success) {
    if (success) {
        trace ("Connection succeeded!")
        inputText.text = "open";
//      socket.send("1n");
        gotoAndPlay(2);
    } else {
        trace ("Connection failed!")
        inputText.text = "failed";
    }
}


btnConnect.onRelease = function()
{
    inputText.text = "started";


    result = socket.connect("localhost",50000);


}

socket = new XMLSocket();
socket.onConnect = myOnConnect;

解决方法

这最终成为一个安全问题.使用XMLSocket时,Flash Player增加了安全性. Flash Player现在在端口843上查找策略文件.另一种方法是使用调用Security.loadPolicyFile()让swf查找策略文件.如果文件存在且所有安全设置都允许XMLSocket,则创建连接.

查看Adobe article on Policy files及更多信息here.这是另一篇好文章about policy files.

这是最终为我工作的政策文件.它根本不是限制性的.但是,我认为我让事情有效,然后让它们正确.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">

<!-- Policy file for xmlsocket://socks.example.com -->
<cross-domain-policy> 

   <!-- This is a master socket policy file -->
   <!-- No other socket policies on the host will be permitted -->
<!--   <site-control permitted-cross-domain-policies="all"/> -->

   <!-- Instead of setting to-ports="*",administrator's can use ranges and commas -->
   <!-- This will allow access to ports 123,456,457 and 458 -->
   <allow-access-from domain="*" to-ports="*" secure="false"/>

</cross-domain-policy>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读