WEB开发网
开发学院软件开发Java 在 Ajax 应用程序中实现实时数据推送:学习使用基... 阅读

在 Ajax 应用程序中实现实时数据推送:学习使用基于套接字的 RIA 技术

 2009-11-14 00:00:00 来源:WEB开发网   
核心提示: 此代码建立了与客户端的成功连接,现在,在 Ajax 应用程序中实现实时数据推送:学习使用基于套接字的 RIA 技术(7),服务器可以与客户端发起 “握手” 之类的协议,此时,清单 5 中的代码展示了 Flex 如何调用 JavaScript 函数,这是 readHandl

此代码建立了与客户端的成功连接。现在,服务器可以与客户端发起 “握手” 之类的协议,此时,服务器通常会指定一个惟一的 ID,并将其发送给客户端,此后,服务器可根据 ID 缓存套接字,在此之后,如果服务器需要向客户端推送某些数据,可以按照 ID 定位套接字,并使用其输出流。幸运的是,OpenLaszlo 也使用了相同的基于策略文件的机制,因而,同样的服务器代码适用于两种场景。

下面将介绍如何创建 Flex 套接字,随后将其与 Ajax 应用程序连接。

使用 Adobe Flex 打开客户端套接字

清单 4 中的代码展示了如何通过 Flex 打开客户端套接字:


清单 4. 通过 Flex 打开客户端
var socket : XMLSocket = new XMLSocket(); 
// register events: 
socket.addEventListener(Event.CLOSE, closehandler); 
socket.addEventListener(Event.CONNECT, connectHandler); 
socket.addEventListener(Event.OPEN, openHandler); 
socket.addEventListener(ProgressEvent.SOCKET_DATA, readHandler); 
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); 
socket.connect("localhost",20340);     

完成 socket.connect() 调用后,Flex 将向服务器发送一条请求,要求提供策略文件,期待获得 XML 响应。完成之后,连接即建立,这个套接字现在即可用于从服务器推送数据。

作为拼图的最后一块,您将看到 Flex 如何将 Ajax 作为应用程序调用。为此,要编写一个可处理服务器端消息的通用 JavaScript 函数。我们将此方法命名为 handleServerMessageReceived(message)。此方法会获取来自服务器的 XML 代码,此方法对于消息的处理方式以应用程序为依据。清单 5 中的代码展示了 Flex 如何调用 JavaScript 函数。这是 readHandler 方法的代码,该方法在接收到服务器 XML 消息时被调用。

上一页  2 3 4 5 6 7 8 9  下一页

Tags:Ajax 应用程序 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接