首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash client XMLSocket未连接到服务器

Flash client XMLSocket未连接到服务器
EN

Stack Overflow用户
提问于 2009-07-30 01:45:28
回答 1查看 7.2K关注 0票数 2

我有一个想要连接到服务器的Flash客户端。两者都使用本地主机和端口50000,因此应该不会有任何跨域问题。我还在发布设置中设置了“仅访问网络”。当我调用XMLSocket连接时,服务器似乎获得了一个新连接。但是,不使用success=true调用XMLSocket.onConnect回调。

对可能的错误有什么想法吗?

下面是用于创建套接字的ActionScript。

代码语言:javascript
复制
 function myOnConnect(success) {
    if (success) {
        trace ("Connection succeeded!")
        inputText.text = "open";
//      socket.send("1\n");
        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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-30 03:33:02

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

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

这是最终为我工作的策略文件。它一点也不受限制。但是,我认为我会让事情变得正常,然后让它们变得正确。

代码语言:javascript
复制
<?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>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1204061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档