Flash Player 5。
XMLSocket 类用于实现客户端套接字。利用客户端套接字,运行 Flash Player 的计算机可以与由 IP 地址或域名标识的服务器计算机进行通讯。对于要求滞后时间较短的客户端/服务器应用程序,如实时聊天系统,XMLSocket 类非常有用。传统的基于 HTTP 的聊天解决方案频繁轮询服务器,并使用 HTTP 请求来下载新的消息。与此相反,XMLSocket 聊天解决方案保持与服务器的开放连接,这一连接允许服务器即时发送传入的消息,而无需客户端发出请求。
若要使用 XMLSocket 类,服务器计算机必须运行可识别 XMLSocket 类使用的协议的守护程序。 协议如下所示:
XMLSocket 对象连接到服务器的方式和位置受下列限制:
XMLSocket.connect()
方法只能连接到端口号大于或等于 1024 的 TCP 端口。这种限制的一个后果是,与 XMLSocket 对象通讯的服务器守护程序也必须分配到端口号大于或等于 1024 的端口。端口号小于 1024 的端口通常由系统服务(如 FTP、Telnet 和 HTTP)使用,因此,出于安全方面的考虑,禁止 XMLSocket 对象使用这些端口。这种端口号方面的限制可以减少不恰当地访问和滥用这些资源的可能性。XMLSocket.connect()
方法只能连接到 SWF 文件所在域中的计算机。这一限制不适用于在本地磁盘外运行的 SWF 文件。(这一限制与 loadVariables()
、XML.sendAndLoad()
和 XML.load()
的安全规则相同。)若要连接到在 SWF 所在域之外的其它域中运行的服务器守护程序,可以在该服务器上创建一个允许从特定域进行访问的安全策略文件。有关为 XMLSocket 连接创建策略文件的更多信息,请参见关于允许跨域数据加载。将服务器设置为与 XMLSocket 对象进行通讯可能会遇到一些困难。如果您的应用程序不需要进行实时交互,请使用 loadVariables()
动作或 Flash 的基于 HTTP 的 XML 服务器连接(XML.load()
、XML.sendAndLoad()
、XML.send()
),而不要使用 XMLSocket 类。
若要使用 XMLSocket 类的方法,您必须首先使用构造函数 new XMLSocket
创建一个新的 XMLSocket 对象。
方法 |
说明 |
---|---|
关闭一个打开的套接字连接。 |
|
建立一个到指定服务器的连接。 |
|
向服务器发送一个 XML 对象。 |
事件处理函数 |
说明 |
---|---|
当 XMLSocket 连接关闭时调用的事件处理函数。 一个事件处理函数,在通过 当 XML 消息已从服务器上下载后调用的事件处理函数。 当 XML 对象从服务器到达时调用的事件处理函数。 |
|
Flash Player 5。
new XMLSocket()
无。
无。
构造函数;创建一个新的 XMLSocket 对象。XMLSocket 对象开始时未与任何服务器连接。必须调用 XMLSocket.connect()
将该对象连接到服务器。