日期:2014-05-16  浏览次数:20466 次

XMLSocket 连接失败
下面这段as代码连接失败,郁闷一整天,网上查了好多资料也没有搞明白什么原因。

package 
{
import flash.display.MovieClip;
import flash.events.*;
import flash.net.XMLSocket;
import flash.external.ExternalInterface;

public class SocketExample extends MovieClip
{
private var socket:XMLSocket;
public function SocketExample()
{
socket = new XMLSocket();
socket.addEventListener(Event.CONNECT, onConnect);
if(!socket.connect("192.168.1.72", 2900))
{
ExternalInterface.call("alert","连接失败");
}
else
{
ExternalInterface.call("alert","连接成功");
}
}
private function onConnect(event:Event):void
{
ExternalInterface.call("alert","连接中");
}
}

}

///////////////////////////////////////////////////////////////////////////

服务器是window server2003 64位,用win2008 64位也试过都不行
网上查的资料里说的下面4条规则我都遵守了,不知错在哪里

当与一个主机建立一个Socket连接时,Flash Player要遵守如下安全沙箱规则.
1.Flash的.swf文件和主机必须严格的在同一个域名,只有这样才可以成功建立连接.
2.一个从网上发布的.swf文件是不可以访问本地服务器的.
3.本地未通过认证的.swf文件是不可以访问任何网络资源的.
4.你想跨域访问或者连接低于1024的端口,必须使用一个跨域策略文件.

------解决方案--------------------
有没有系统防火墙限制了端口