使用 XMLSocket 类

动作脚本提供了一个内置的 XMLSocket 类,它允许您打开与服务器的持续连接。套接字连接允许服务器在信息可用时就向客户端发布(或“推送”)信息。如果没有持续连接,服务器必须等待一个 HTTP 请求。这种打开的连接消除了等待时间问题,它通常用于实时的应用程序,比如聊天。数据以字符串的形式在套接字连接上发送,它应该是 XML 格式的。可以使用 XML 类来组织数据。

要创建套接字连接,必须创建服务器端应用程序来等待套接字连接请求,然后向 SWF 文件发送响应。这种类型的服务器端应用程序可用编程语言(例如 Java)来编写。

您可以使用 XMLSocket 类的 connect()send() 方法通过套接字连接与服务器互相收发 XML。connect() 方法建立与 Web 服务器端口的套接字连接。send() 方法将 XML 对象传递给套接字连接中指定的服务器。

当调用 connect() 方法时,Flash Player 打开与服务器的 TCP/IP 连接,并保持该连接处于打开状态,直到发生以下情况之一:

下面的示例创建一个 XML 套接字连接,并从 XML 对象 myXML 发送数据。为了理解此脚本,请阅读注释行(用字符 // 表示):

// Create a new XMLSocket object
sock = new XMLSocket();
// Call its connect() method to establish a connection with port 1024
// of the server at the URL
sock.connect("http://www.myserver.com", 1024);
// Define a function to assign to the sock object that handles
// the server?s response.If the connection succeeds, send the
// myXML object.If it fails, provide an error message in a text
// field.
function onSockConnect(success){
  if (success){
    sock.send(myXML);
  } else {
    msg="There has been an error connecting to "+serverName;
  }
}
// Assign the onSockConnect() function to the onConnect property
sock.onConnect = onSockConnect;

有关更多信息,请参见 XMLSocket 类