·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]XMLSocket发送数据并输出 XMLSocket 事件过程

时间:2017-02-27 11:06酷播
以下示例演示了使用 XMLSocket 发送数据并输出 XMLSocket 事件过程中的信息。这是使用以下步骤完成的

以下示例演示了使用 XMLSocket 发送数据并输出 XMLSocket 事件过程中的信息。这是使用以下步骤完成的:

  1. init() 创建名为 socket 的 XMLSocket 实例,并将 socket 传递给 configureListeners()(如下所述),然后使用域作为主机名和端口号 8080 调用 XMLSocket 对象的 connect() 方法。
  2. configureListeners() 方法为每个受支持的 XMLSocket 事件添加侦听器:
    • closeHandler():侦听 close 事件,在网络连接关闭后调度该事件。
    • connectHandler():侦听 connect 事件,在建立网络连接后调度该事件。
    • dataHandler():侦听 data 事件,在 XMLSocket 每次接收新数据时调度该事件。
    • progressHandler():侦听 progress 事件,已调用 send() 并且发送正在进行时调度该事件。
    • securityErrorHandler():侦听 securityError 事件,如果试图使用错误的本地回放安全性设置或端口号低于 1024 的端口访问 XMLSocket,则调度该事件。
    • ioErrorHandler():侦听 ioError 事件,仅当发送或接收数据的操作失败时,才会发生该事件。

注意:

  • 若要让本示例正常工作,需要一个在域上运行并使用 8080 端口的服务器。
  • 如果运行的是 Flash Player 9.0.124.0 或更高版本,则需要在服务器上放置一个套接字策略文件,以允许建立从域到端口 8080 的套接字连接。有关提供套接字策略文件的信息,请参阅 Flash Player 开发人员中心主题:设置套接字策略文件服务器
    1. <html> 
    2.     <head> 
    3.       <script src="AIRAliases.js" /> 
    4.       <script> 
    5.         var hostName = "[yourDomain]"; // String 
    6.         var port = 8080; // Number 
    7.         var socket; // XMLSocket 
    8.  
    9.         function init() { 
    10.             socket = new air.XMLSocket(); 
    11.             configureListeners(socket); 
    12.             if (hostName && port) { 
    13.                 socket.connect(hostName, port); 
    14.             } 
    15.         } 
    16.  
    17.         function send(data) { 
    18.             socket.send(data); 
    19.         } 
    20.  
    21.         function configureListeners(dispatcher) { 
    22.             dispatcher.addEventListener(air.Event.CLOSE, closeHandler); 
    23.             dispatcher.addEventListener(air.Event.CONNECT, connectHandler); 
    24.             dispatcher.addEventListener(air.DataEvent.DATA, dataHandler); 
    25.             dispatcher.addEventListener(air.IOErrorEvent.IO_ERROR, ioErrorHandler); 
    26.             dispatcher.addEventListener(air.ProgressEvent.PROGRESS, progressHandler); 
    27.             dispatcher.addEventListener(air.SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); 
    28.         } 
    29.  
    30.         function closeHandler(event) { 
    31.             air.trace("closeHandler: " + event); 
    32.         } 
    33.  
    34.         function connectHandler(event) { 
    35.             air.trace("connectHandler: " + event); 
    36.         } 
    37.  
    38.         function dataHandler(event) { 
    39.             air.trace("dataHandler: " + event); 
    40.         } 
    41.  
    42.         function ioErrorHandler(event) { 
    43.             air.trace("ioErrorHandler: " + event); 
    44.         } 
    45.  
    46.         function progressHandler(event) { 
    47.             air.trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); 
    48.         } 
    49.  
    50.         function securityErrorHandler(event) { 
    51.             air.trace("securityErrorHandler: " + event); 
    52.         } 
    53.       </script> 
    54.     </head> 
    55.     <body onload="init()"> 
    56.     </body> 
    57. </html> 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器