《BlazeDS开发指南》学习笔记(三):两个示例

阅读更多

  在上一篇文章中已经介绍了第一例子,RPC服务,在该篇文章中介绍另一个例子,消息服务。

 

  二、消息服务例子

 

  消息服务可以使得客户端发送和接收其他客户端的消息,在该例子中,接收和发送消息是基于同一个BlazeDS目的(destination)的。

 

  首先,在WEB-INF/flex/messaging-config.xml文件中定义消息目的,代码如下:

 

 

  上面使用的通道“my-amf-poll”在WEB-INF/flex/services-config.xml文件中定义,代码如下:

 


  
  
    true
    1
  

 

  上面定义了一个每隔一秒钟轮询一次的轮询通道,轮询是主动更新客户端数据的最简单方法,另外还可以配置的参数有piggybacking,long-polling和streaming。

 

  在Flex客户端程序中,使用Producer控件发送消息,使用Consumer控件接收服务端返回的消息。发送消息时,首先创建一个AsyncMessage类的实例,然后设置该实例的body属性为具体要发送的内容,最后调用Producer的send()方法将消息发送给服务器;对于接收消息,在程序初始化时,就应该调用Consumer的subscribe()方法订阅Producer指定destination的服务器消息,服务器端有消息返回时,会自动调用Consumer的message指定的方法,详细代码如下:

 





  






 

  将上面文件编译为SWF,并部署到BlazeDS服务器中,在浏览器中进行体验,如图:

 

 《BlazeDS开发指南》学习笔记(三):两个示例_第1张图片

 

 

  整个代码请点击下载(解压后拷贝msg目录到Tomcat的webapps目录下):消息服务例子

 

你可能感兴趣的:(Flex,XML,Web,Tomcat,浏览器)