【问题标题】:Flash cannot setup XMLSocketFlash 无法设置 XMLSocket
【发布时间】:2013-07-25 19:25:24
【问题描述】:

我刚刚在flash中启动了一个项目,但是它无法启动XMLSocket。

我的代码:

import Network.CommunicationBootstrap;

var network:CommunicationBootstrap = new CommunicationBootstrap();
network.start("127.0.0.1", 30000);

包网络类 CommunicationBootstrap:

package Network {
import flash.net.XMLSocket;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;

public class CommunicationBootstrap {

    private var socket:XMLSocket = new XMLSocket();

    public function CommunicationBootstrap() {
        socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    }

    public function start(ip:String, port:int):void {
        this.socket.connect(ip, port);

        trace("Testing this out!");
    }

    private function ioErrorHandler(event:IOErrorEvent):void {
        trace("ioErrorHandler: " + event);
    }

    private function securityErrorHandler(event:SecurityErrorEvent):void {
        trace("securityErrorHandler: " + event);
    }

}

}

我的错误是: ioErrorHandler: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2031: Socket Error. URL: 127.0.0.1"] securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="错误 #2048: 安全沙箱违规:file:///C|/Users/iufrs/Documents/AS3/1/Torn.swf无法从 127.0.0.1:30000 加载数据。"]

(通过trace和2个事件获得)

【问题讨论】:

  • 你设置crossdomain.xml了吗?

标签: actionscript-3 flash sockets xmlsocket


【解决方案1】:

这是(如消息提示的)由于您的 swf 正在运行的沙箱。

来自the docs

本地文件描述使用文件引用的任何文件: 协议

你在这里做什么。

进一步:

本地文件系统沙箱 - 出于安全目的,Flash Player 将所有本地 SWF 文件和资源放在本地文件系统中 沙盒,默认情况下。从此沙箱中,SWF 文件可以读取本地文件 (例如,通过使用 URLLoader 类),但它们不能 以任何方式与网络通信。这向用户保证 本地数据不能泄露到网络或以其他方式 不当分享

这就是导致您看到错误的原因。

如果您希望您的 swf 由 web 服务器托管,那么您应该确保 swf 可以从运行在 127.0.0.1 上的 web 服务器加载,并且您应该通过 http 加载它,例如如http://127.0.0.1/YourSwf.swf

如果你想从文件系统运行你的 sef,你需要编译它以在 'local-with-networking' 沙箱中运行,链接解释了如何。

.

【讨论】:

    猜你喜欢
    • 2015-10-27
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2012-06-10
    • 2011-04-01
    • 1970-01-01
    • 2011-04-04
    • 2010-11-15
    相关资源
    最近更新 更多