gpt4 book ai didi

flash - Flash客户端XMLSocket无法连接到服务器

转载 作者:行者123 更新时间:2023-12-03 11:51:34 25 4
gpt4 key购买 nike

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

关于什么可能是错的任何想法?

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

 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;

最佳答案

这最终成为一个安全问题。使用XMLSocket时,Flash Player增加了安全性。现在,Flash Player将在端口843上查找策略文件。另一种方法是让swf使用调用Security.loadPolicyFile()查找策略文件。如果文件存在并且所有安全设置都允许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>

关于flash - Flash客户端XMLSocket无法连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com