2010-04-22 170 views
0

我写了尝试连接到端口8787 代码监听本地Java服务器的ActionScript客户端程序如下:连接到Java服务器的问题

import flash.display.*; 
import flash.events.*; 
import flash.net.Socket; 
import flash.system.Security; 

public class Main extends Sprite { 

    // Properties 

    private var socket:Socket; 

    // Constructor 

    public function Main() { 

     Security.loadPolicyFile("xmlsocket://localhost:8787"); 
     socket = new Socket();   
     socket.addEventListener(Event.CONNECT, onConnectHandler); 

     socket.connect("192.168.0.3", 8787); 

    } 

    // Methods 

    private function onConnectHandler(event:Event):void { 

     trace("The socket is now connected..."); 
     var myspr:Sprite = new Sprite(); 
     myspr.graphics.beginFill(0x000000); 
     myspr.graphics.drawCircle(50, 50, 60); 
     myspr.graphics.endFill(); 
     addChild(myspr); 

    } 

} 

但在闪光CS4 IDE我得到以下信息:

Error #2044: Unhandled IOErrorEvent:. text=Error #2031: Socket Error. at Main()

而当我在Firefox下降瑞士法郎我得到:

SecurityError: Error #2010: Local-with-filesystem SWF files are not permitted to use sockets. at flash.net::Socket/internalConnect() at flash.net::Socket/connect() at Main()

注意:而不是“192.168.0.3”,我也测试127.0.0.1和本地主机没有成功。

回答

0

在本地开发,您需要将SWF添加到Flash的全局安全设置权限:

Flash Settings Manager

添加本地的SWF的位置信任文件列表,并将其设置为“总是允许。 “