【发布时间】:2010-11-15 07:11:59
【问题描述】:
我有一个想要连接到服务器的 Flash 客户端。两者都使用 localhost 和端口 50000 所以不应该有任何跨域问题。我还在发布设置中设置了仅访问网络。当我调用 XMLSocket 连接时,服务器似乎获得了一个新连接。但是,XMLSocket.onConnect 回调不会调用 success=true。
对可能出现的问题有什么想法吗?
这是用于创建套接字的 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;
【问题讨论】:
-
看起来不错,但我对“localhost”持怀疑态度。尝试使用 null(根据 ActionScript Docs 的“同一台机器”连接),看看是否可行。
-
我在 Flash 调试器中运行它并立即连接。我想知道是否需要安全设置才能使其在浏览器中运行。它在 IE 或 Firefox 中不起作用。
-
只是为了好玩,我还尝试将发布设置切换为仅访问本地文件。没用。
-
对同一台机器使用 null 不起作用。不过谢谢你的想法。
-
没关系。如果您可以通过 Flash 调试器进行连接,则连接应该不是问题,但安全性可能仍然存在。
标签: flash sockets actionscript network-programming xmlsocket