XMLSocket.connect()

可用性

Flash Player 5;行为在 Flash Player 7 中发生了变化。

用法

myXMLSocket.connect(host, port)

参数

host 一个完全限定 DNS 域名,或一个 aaa.bbb.ccc.ddd 形式的 IP 地址。也可指定 null,这将连接到 SWF 文件所在的主机服务器。如果发布此调用的 SWF 文件运行在 Web 浏览器上,则 url 必须与 SWF 文件位于同一个域中;有关详细信息,请参见下面的“说明”。

port 主机上用于建立连接的 TCP 端口号。端口号必须为 1024 或更高。

返回

一个布尔值。

说明

方法;使用指定的 TCP 端口(必须为 1024 或更大)建立一个到指定 Internet 主机的连接,并根据是否成功建立了连接,返回 truefalse。如果您不知道 Internet 宿主计算机的端口号,请与您的网络管理员联系。

如果将 host 参数指定为 null,则所联系的主机为调用 XMLSocket.connect() 的 SWF 文件所在的主机。例如,如果 SWF 文件是从 http://www.yoursite.com 下载的,则将 host 参数指定为 null 与输入 www.yoursite.com 的 IP 地址效果相同。

在运行于 Flash Player 7 以前版本的播放器的 SWF 文件中,url 必须与发布此调用的 SWF 文件位于同一个超级域中。例如,位于 www.someDomain.com 的 SWF 文件可以从位于 store.someDomain.com 的 SWF 文件加载变量,这是因为这两个文件都在同一个超级域 someDomain.com 中。

在运行于 Flash Player 7 或更高版本的任何版本的 SWF 文件中,url 必须在同一个域中(请参见Flash Player 安全功能)。例如,位于 www.someDomain.com 的 SWF 文件只能从同样位于 www.someDomain.com 的 SWF 文件加载变量。如果要从其它域中加载变量,则可以在承载被访问的 SWF 文件的服务器上放置一个跨域策略文件(必须将其放置在运行于与套接字服务器所在的同一个域中端口 80 上的 HTTP 服务器上)。有关更多信息,请参见关于允许跨域数据加载

执行 load() 时,XML 对象的属性 loaded 将被设置为 false。在 XML 数据下载完毕后,loaded 属性将被设置为 true,并调用 onLoad() 方法。直到 XML 数据完全下载后,才开始分析。如果该 XML 对象以前包含任何 XML 树,它们将被放弃。

如果 XMLSocket.connect() 返回 true 值,则表示连接过程的初始阶段是成功的;随后将调用 XMLSocket.onConnect 方法以确定最终连接是否成功。如果 XMLSocket.connect() 返回 false,则表示未能建立连接。

示例

下面的示例使用 XMLSocket.connect() 连接到 SWF 文件所在的主机,然后使用 trace 显示返回值,指示连接是否成功。

function myOnConnect(success) {
  if (success){
    trace ("Connection succeeded!")
  } else {
    trace ("Connection failed!")
  }
}
socket = new XMLSocket()
socket.onConnect = myOnConnect
if (!socket.connect(null, 2000)) {
  trace ("Connection failed!")
}

另请参见

functionXMLSocket.onConnect()