动作脚本提供了一个内置的 XMLSocket 类,它允许您打开与服务器的持续连接。套接字连接允许服务器在信息可用时就向客户端发布(或“推送”)信息。如果没有持续连接,服务器必须等待一个 HTTP 请求。这种打开的连接消除了等待时间问题,它通常用于实时的应用程序,比如聊天。数据以字符串的形式在套接字连接上发送,它应该是 XML 格式的。可以使用 XML 类来组织数据。
要创建套接字连接,必须创建服务器端应用程序来等待套接字连接请求,然后向 SWF 文件发送响应。这种类型的服务器端应用程序可用编程语言(例如 Java)来编写。
您可以使用 XMLSocket 类的 connect()
和 send()
方法通过套接字连接与服务器互相收发 XML。connect()
方法建立与 Web 服务器端口的套接字连接。send()
方法将 XML 对象传递给套接字连接中指定的服务器。
当调用 connect()
方法时,Flash Player 打开与服务器的 TCP/IP 连接,并保持该连接处于打开状态,直到发生以下情况之一:
close()
方法被调用。下面的示例创建一个 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 类。