当前位置: 首页 > news >正文

滕州网站建设招聘网站建设推广专家服务

滕州网站建设招聘,网站建设推广专家服务,wordpress 视频模版,万站霸屏BlazeDS Test Drive里面示例了主要的功能#xff1a; HTTPService Web Services Remote-Object Messaging 其实现是基于一个叫flex.messaging.MessageBroker的Servlet。各种消息通道的配置都存在于WEB-INF/flex/services-config.xml及其包含的3个XML文件中。下面简单介绍这四…  BlazeDS Test Drive里面示例了主要的功能 HTTPService Web Services Remote-Object Messaging 其实现是基于一个叫flex.messaging.MessageBroker的Servlet。各种消息通道的配置都存在于WEB-INF/flex/services-config.xml及其包含的3个XML文件中。下面简单介绍这四种不同的功能。 HTTPService: 向服务器发送HTTP请求典型用途是获取服务器端的XML内容。服务器端可以采用任何技术JSP、Servlet、ASP、PHP等只要在请求的URL里面指定即可。这是个异步请求服务器会返回result或fault事件分别对应成功和失败。可以把返回的结果直接绑定到DataGrid上。利用useProxy属性和crossdomain.xml可以跨域访问这是解决沙箱效应的方法之一。 另一种方法就是不用HTTPService而是写一个JS或PHP脚本用Ajax(XMLHTTP Object) 去访问跨域URL。跑题了 示例在proxy-config.xml配置HTTPService要请求的URL地址在程序中用“destination”映射关系来访问该URL如示例中的“catalog”。将J返回的XML内容绑定到mx:DataGrid控件上。 main.mxml       mx:HTTPService idsrv destinationcatalog useProxytrue/     mx:DataGrid dataProvider{srv.lastResult.catalog.product} width100% height100%/        mx:Button labelGet Data clicksrv.send()/  WEB-INF/flex/proxy-config.xml   destination idcatalog     properties             url/{context.root}/testdrive-httpservice/catalog.jsp/url         /properties     /destination  WebService  可以访问基于SOAP的web服务其返回的对象自动被反序列化为ActionScript对象。数据绑定、沙箱问 题等与HTTPService相同。 示例在proxy-config.xml配置WebService要请求的wsdl地址在程序中用“destination”映射关系来访问该URL如示例中的“ws-catalog”。将返回的对象绑定到mx:DataGrid控件上。 main.mxml       mx:WebService idsrv destinationws-catalog useProxytrue showBusyCursortrue/            mx:DataGrid dataProvider{srv.getProducts.lastResult} width100% height100%         mx:columns             mx:DataGridColumn dataFieldproductId headerTextProduct Id/             mx:DataGridColumn dataFieldname headerTextName/             mx:DataGridColumn dataFieldprice headerTextPrice/         /mx:columns     /mx:DataGrid            mx:Button labelGet Data clicksrv.getProducts()/ proxy-config.xml       destination idws-catalog         properties             wsdlhttp://livecycledata.org/services/ProductWS?wsdl/wsdl             soap*/soap         /properties         adapter refsoap-proxy/     /destination  Remote-Object 让用户可以直接访问服务器上的对象的方法要被访问的对象是一个JAVA类和Servlet、JSP差不多但是远程请求的这部分被隐藏起来了。返回的JAVA对象被自动反序列化为Actionscript对象如果不加以指定类型就成为一个动态对象。远程访问也是异步的result或fault事件分别对应成功和失败。 示例在remoting-config.xml配置远程对象的类名在程序中用“destination”映射关系来访问该类的示例如示例中的“product”。将返回的java.util.ArrayList对象绑定到mx:DataGrid控件上。 main.mxml       mx:RemoteObject idsrv destinationproduct/            mx:DataGrid dataProvider{srv.getProducts.lastResult} width100% height100%/        mx:Button labelGet Data clicksrv.getProducts()/      remoting-config.xml       destination idproduct         properties             sourceflex.samples.product.ProductService/source         /properties     /destination  view plaincopy to clipboardprint?package flex.samples.product;   import java.util.ArrayList;   public class ProductService {           public List getProducts() {              List list new ArrayList();              list.add(new Product(100, abc));              return list;           }   }    public class Product implements Serializable {           private int productId;           private String name;           public Product(int productId, String name)   {...}       public int getProductId() {           return productId;       }       public void setProductId(int productId) {           this.productId productId;       public String getName() {           return name;       }       public void setName(String name) {           this.name name;       }   }  Messaging 消息本身包含消息头和消息体消息头的格式是固定的消息体的内容可以随意写。接触过状态机、分布式嵌入式系统编程的会很容易理解。 消息服务允许Flex客户端可以发布(Publish)和订阅(Subscribe)消息相应的客户端的被称为生产者(Producer)和消费者(Consumer)其实也就是发送和接受消息了。 当一个消息被发到已订阅的目的地(destination)时就会触发一个客户端的message事件。发布的任何消息会发给所有订阅的人即使是生产者自己。如果某一订阅方只想收到特定的消息可以在订阅时使用selecor属性来指定过滤条件只有符合条件的消息才会被服务器转发。如果想要服务器产生消息可以产生一个flex.messaging.messages.AsyncMessage类的实例用flex.messaging.MessageBroker发送出去。 示例在服务器端发布消息。通过JSP或Servlet建立一个无限循环线程产生消息。在messaging-config.xml配置消息通道channel在程序中用“destination”映射关系来访问该通道如示例中的“feed”。 startfeed.jsp   %       try {           Feed feed new Feed();           feed.start();           out.println(Feed Started);       } catch (Exception e) {           out.println(A problem occured while starting the feed: e.getMessage());       }   % Feed.java   import java.util.*;   import flex.messaging.MessageBroker;   import flex.messaging.messages.AsyncMessage;   import flex.messaging.util.UUIDUtils;   public class Feed {       private static FeedThread thread;       public Feed() {       }       public void start() {           if (thread null) {               thread new FeedThread();               thread.start();           }       }       public void stop() {           thread.running false;           thread null;       }       public static class FeedThread extends Thread {           public boolean running true;           public void run() {               MessageBroker msgBroker MessageBroker.getMessageBroker(null);               String clientID UUIDUtils.createUUID();               Random random new Random();               double initialValue 35;               double currentValue 35;               double maxChange initialValue * 0.005;               while (running) {                   double change maxChange - random.nextDouble() * maxChange * 2;                   double newValue currentValue change;                   if (currentValue initialValue initialValue * 0.15                         currentValue initialValue - initialValue * 0.15) {                       currentValue newValue;                   } else {                       currentValue - change;                   }                   AsyncMessage msg new AsyncMessage();                   msg.setDestination(feed);                   msg.setClientId(clientID);                   msg.setMessageId(UUIDUtils.createUUID());                   msg.setTimestamp(System.currentTimeMillis());                   msg.setBody(new Double(currentValue));                   msgBroker.routeMessageToService(msg, null);                   System.out.println( currentValue);                   try {                       Thread.sleep(300);                   } catch (InterruptedException e) {                   }               }           }       }   } WEB-INF/flex/messaging-config.xml      destination idfeed         !-- Destination specific channel configuration can be defined if needed           channels             channel refmy-streaming-amf/         /channels                    --     /destination  示例客户端可以发布和订阅消息在messaging-config.xml配置消息目的地在程序中用“destination”映射关系来访问该类的示例如示例中的“chat”。注意通道及其端点(endpoint)真正的定义是在service-config.xml中messaging-config.xml中仅仅是引用它们。  mx:Producer idproducer destinationchat/mx:Consumer idconsumer destinationchat messagemessageHandler(event.message) selectorprop1 10 /mx:Script   !--[CDATA[      import mx.messaging.messages.AsyncMessage;    import mx.messaging.messages.IMessage;       private function send():void    {     var message:IMessage new AsyncMessage();     message.headers new Array();                                 message.headers[prop1] 10;                                message.body.chatMessage msg.text;     producer.send(message);     msg.text ;    }           private function messageHandler(message:IMessage):void    {     log.text message.body.chatMessage /n;     }      ]]--/mx:Script WEB-INF/flex/messaging-config.xml       destination idchat/  WEB-INF/flex/service-config.xml           channel-definition idmy-streaming-amf classmx.messaging.channels.StreamingAMFChannel             endpoint urlhttp://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf              classflex.messaging.endpoints.StreamingAMFEndpoint/         /channel-definition  可以看到messaging包括两大类不同的消息通道。分别是streaming channel和polling channel每一类又有一些扩展类型。 采用polling channel可以配置为每隔一段时间就轮询一次也可以配置让服务器在无数据时等待直到有数据时才响应长轮询。轮询响应完成后后就结束连接。 采用streaming channel时服务器的响应一直保持连接状态这样服务器一次连接后可以持续下发数据到客户端。由于HTTP连接不是双工的所以一条AMF或HTTP通道实际上需要2条浏览器连接分别用于上行和下行数据。这第二条连接仅在需要向服务器发送数据时才建立之后立即释放。这种通道特别适合实时性高、客户端刷新的应用。比起轮询这种模式有效减少了反复建立连接的开销。 IE和Firefox浏览器在每个session最大连接数上有些不同。如果因此导致streaming channel建立失败则BlazeDS会自动使用messaging-config.xml配置的下一个连接。 实例定义多个默认通道作为备份。 WEB-INF/flex/messaging-config.xml       default-channels         channel refmy-streaming-amf/         channel refmy-polling-amf/                 channel refper-client-qos-polling-amf/ /default-channels  如果不在XML中配置消息通道也可以在Actionscript脚本中动态赋值。 view plaincopy to clipboardprint?mx:Script       !--[CDATA[           import mx.messaging.channels.StreamingAMFChannel;           import mx.messaging.ChannelSet;           import mx.messaging.channels.AMFChannel;           import mx.messaging.events.MessageEvent;           import mx.messaging.messages.AsyncMessage;           import mx.messaging.messages.IMessage;           private function initComp():void         {               var myStreamingAMF:AMFChannel new StreamingAMFChannel(my-streaming-amf, ../messagebroker/streamingamf);               var myPollingAMF:AMFChannel new AMFChannel(my-polling-amf, ../messagebroker/amfpolling);               myPollingAMF.pollingEnabled true;               myPollingAMF.pollingInterval 2000;               var channelSet:ChannelSet new ChannelSet();               channelSet.addChannel(myStreamingAMF);               channelSet.addChannel(myPollingAMF);               consumer.channelSet channelSet;                              producer.channelSet channelSet;           }       ]]--   /mx:Script
http://www.dnsts.com.cn/news/76394.html

相关文章:

  • 找事情做的网站做支付行业招代理一般上什么网站
  • 重庆的网络优化公司谷歌seo零基础教程
  • 如何创建一个免费的网站郑州遗像制作
  • 热 动漫-网站正在建设中-手机版6企业宣传册ppt模板
  • 地信网站建设微商平台
  • wordpress 自动内链网站优化是做什么的
  • 网站搭建就来徐州百度网络非常好地方门户网站源码下载
  • 厦门功夫广告设计网站建设工作室无锡建网站企业
  • 觉 网站wordpress回复框无法加载
  • 学校资源网站 建设深圳网站建设需要多少费用
  • 双语网站建设公司网站提交链接入口
  • 建各企业网站多少钱iis网站后台登不进
  • 做tcf法语听力题的网站岳阳手机网站制作
  • 网站顶部地图代码怎么做的wordpress怎么发布文章
  • 沈阳城市建设学院官方网站wordpress数据下载插件
  • 深圳市涂能装饰设计公司网站海外推广方案
  • 网站开发运营公司绩效提成方案wordpress网页优化
  • 济南住房和城乡建设局网站江苏省网站备案电话号码
  • 网站建设平台还有没有趋势做的网站百度上可以搜到吗
  • 郫县哪里有做网站的制作视频的手机软件
  • 安平网站建设北京到安阳的大巴
  • 新网站如何做网站优化图片变视频制作软件
  • 怎么按照屏幕比例做网站适应网站备案率是什么
  • 成都网站建设哪家企业网站建设有几种
  • 深圳营销网站建设服务网络营销策划书5000字
  • 官方网站建设调研报告艺术字体在线生成器华康海报
  • 建网站的流程及注意事项如何选择武进网站建设
  • 怎么做网站地图的样式青岛网站建设网站制作
  • 网站建设找云尚网络广州番禺楼盘
  • 建设个人网站第一步这么做潍坊网站开发招聘信息