- 浏览: 719028 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (389)
- flex (150)
- java (55)
- flex_sharedObject (4)
- iphone/android (7)
- red5 (4)
- blazeds (19)
- ajax (3)
- flex&java (9)
- 聊天室 (2)
- flex的问题 (1)
- game (8)
- flex_xml (1)
- flex组件学习 (2)
- JGroups (1)
- 中转站 (2)
- ruby (7)
- flex_js (5)
- C/C++ (14)
- perl (2)
- db (13)
- air (10)
- hibernate (8)
- flash_flex_as_3d (2)
- struts (4)
- dwr (8)
- freemarker (2)
- AS (22)
- 工具 (6)
- js_jquery_ext_yui (4)
- .net (1)
- C# (1)
- 前端 (1)
最新评论
-
136900923:
您好,您的代码我不是很懂,我想跟您交流一下,我的qq邮箱:13 ...
hibernate做无限极菜单树如此简单 -
fykyx521:
两个同一个功能
flex_flush_Socket 安全沙箱解决 -
ustb:
你上下两个代码类之间没关系
flex_flush_Socket 安全沙箱解决 -
u010656335:
...
flex发送QQ表情 -
u010656335:
flex发送QQ表情
突发奇想看了下源代码,写了个简单的类,因为 messaging -config.xml的缺省adapther是actionScriptAdapter
我写了个类继承自他,就能得到从客户端发送的消息
package adapter; import flex.management.runtime.messaging.services.messaging.adapters.ActionScriptAdapterControl; import flex.messaging.Destination; import flex.messaging.MessageDestination; import flex.messaging.io.amf.ASObject; import flex.messaging.messages.CommandMessage; import flex.messaging.messages.Message; import flex.messaging.services.MessageService; import flex.messaging.services.messaging.adapters.ActionScriptAdapter; /** * 服务器启动时执行步骤 * * 1. * * init messageing-config.xml配置了一个destionation setDestination setController 如果messageing-config.xml配置了两个destination 执行结果 init setDestination init setDestination setController setController * * **/ public class MyAdapter extends ActionScriptAdapter { private ActionScriptAdapterControl controller; //-------------------------------------------------------------------------- // // Constructor // //-------------------------------------------------------------------------- /** * Constructs a default <code>ActionScriptAdapter</code>. */ public MyAdapter() { super(); System.out.println("init"); } //-------------------------------------------------------------------------- // // Public Getters and Setters for ServiceAdapter properties // //-------------------------------------------------------------------------- /** * Casts the <code>Destination</code> into <code>MessageDestination</code> * and calls super.setDestination. * * @param destination */ public void setDestination(Destination destination) { Destination dest = (MessageDestination)destination; super.setDestination(dest); System.out.println("setDestination"); } //-------------------------------------------------------------------------- // // Other Public APIs // //-------------------------------------------------------------------------- /** * Handle a data message intended for this adapter. */ //主要的发送方法 public Object invoke(Message message) { if(message instanceof CommandMessage){ CommandMessage cm=(CommandMessage)message; } MessageService msgService = (MessageService)getDestination().getService(); System.out.println(msgService.getSubscriberIds("ChatTopic", "chat_team", null));//所有订阅者的id msgService.pushMessageToClients(message, true);//发送消息 msgService.sendPushMessageFromPeer(message, true);//发送消息 System.out.println("invoke message"); Object obj=message.getBody(); System.out.println("message:"+obj.toString());//得到消息体 if(obj instanceof ASObject){ //把它转成 AsObject 因为AsObject是个HashMap //所以就能猜见如何得到消息内容 System.out.println("isAsObject"); ASObject as=(ASObject)obj; System.out.println("text:"+as.get("text")); //输出 (as message.body.text="你好"中的)你好 as.put("text", "大家好才是真的好");//还可以修改从客户端发过来的数据, 客户端text 输出内容就是 “大家好才是真的好” } return null; } /** * Invoked automatically to allow the <code>ActionScriptAdapter</code> to setup its corresponding * MBean control. * * @param broker The <code>Destination</code> that manages this <code>ActionScriptAdapter</code>. */ protected void setupAdapterControl(Destination destination) { controller = new ActionScriptAdapterControl(this, destination.getControl()); controller.register(); setControl(controller); System.out.println("setController"); } }
private function sendMessage():void{ if(textEditor.text==""){ Alert.show("不能发送空消息"); return; } var message:AsyncMessage=new AsyncMessage(); // message.body.text=userName.text+":"+msg.text+" "; var sendU:String=userName.text+":"+new Date(); message.headers=new Array; message.headers["pro"]=5; message.body.text=textEditor.text; message.body.userAndDate=sendU; message.body.fontWeight=this.fontWeight;//粗体 message.body.fontStyle=this.fontStyle;//倾斜 message.body.fontColor=this.fontColor;//下划线 message.body.fontTextDecoration=this.fontTextDecoration;//下换线 producer.send(message); // vd.addChild(getTxtMessage(sendU)); // vd.addChild(parseMessage(textEditor.text)); textEditor.text=""; } <?xml version="1.0" encoding="UTF-8"?> <service id="message-service" class="flex.messaging.services.MessageService"> <adapters> <!--adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true"/--> <!-- <adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter"/> --> <adapter-definition id="myadapter" class="adapter.MyAdapter" default="true"/> </adapters> <default-channels> <channel ref="my-polling-amf"/> </default-channels> <!--destination id="mychat"> <adapter ref="myadapter"/> </destination--> <destination id="ChatTopic"> <properties> <network> <subscription-timeout-minutes>0</subscription-timeout-minutes> </network> <server> <message-time-to-live>0</message-time-to-live>//这些都是关于subtopic,header的,我之前发过blazeds过滤消息 <allow-subtopics>true</allow-subtopics> <subtopic-separator>.</subtopic-separator> </server> </properties> </destination> </service>
发表评论
-
C# 调用java同步类
2010-05-10 09:12 2138NetConnection 是发送的异步http请求, ... -
java C#相互调用的全新方式
2010-05-08 02:53 3203原来就是flex 和C#通讯的框架fluorinefx ... -
BlazedsUtil 测试类
2009-12-01 18:47 841package cn.ishion.util; //很简单, ... -
blazes NetConnection.Call.BadVersion
2009-11-01 22:00 1606<mx:RemoteObject destination ... -
java amf压缩
2009-10-25 18:43 3362http://www.5uflash.com/flashjia ... -
java amf
2009-10-25 18:41 1287http://www.5uflash.com/flashjia ... -
spring-blazeds
2009-09-22 11:09 1071http://www.riameeting.com/node/ ... -
Netconnection连接blazeds
2009-09-11 18:13 1062package { import flash.event ... -
blzeds+hibernate+flex保存对象失败
2009-09-09 14:16 1755session.saveOrupdate(Object obj ... -
blazeds_Detected duplicate HTTP-based FlexSessions
2009-09-09 00:41 3592http://blog.sina.com.cn/s/blog_ ... -
blazeds-data-push-with-remote-objects
2009-07-01 19:10 1731http://codeofdoom.com/wordpress ... -
blazeds向客户端推送数据
2009-07-01 19:02 3266blazeds推送技术至Flex zz 转自http:// ... -
blazeds服务器给客户端发送消息
2009-07-01 18:57 1685private String clientID = UUIDU ... -
blazeds AMFConnection java client
2009-06-30 10:30 2318客户端 as AmFconnection http://aca ... -
flex _blazeds之动态配置message
2009-06-26 09:28 2063api说的继承这个就可以。基本是官方的例子 package ... -
flex调用java方法注意地方
2009-05-23 17:13 2890java代码中不能写重载的方法,否则flex不会调用,写不报错 ... -
flex message suptopic filter使用subtopic过滤信息
2009-05-09 03:17 1493官方说明,看的真晕,谁有blazeds中文翻译麻烦给一份 I ... -
blazeds message filter 过滤消息——在聊天室的应用
2009-05-09 02:09 3829代码都是官方的,因为我在本地测试,所以得设置channelSe ...
相关推荐
在Flex端订阅消息的核心在于使用 BlazeDS 的 MessageBroker 服务,它提供了AMF(Action Message Format)通道,使得Flex客户端可以与服务器端的业务逻辑进行高效的数据交换。下面我们将深入探讨如何实现这个功能。 ...
Java BlazeDS Flex 服务器消息推技术是Web应用程序中实现实时通信的一种有效方法,尤其适用于构建交互性强的聊天室等应用。BlazeDS是Adobe提供的一个开源项目,它为Java服务器和Flex客户端之间的数据交换提供了丰富...
在Blazeds中,AMF用于序列化和反序列化Java对象,使得Flash客户端可以直接操作服务器端的对象,简化了前后端的数据交换过程。 Blazeds的核心功能包括: 1. **Remoting**:这是Blazeds的基础,它允许Flash应用程序...
例如,在Tomcat中,将"blazeds.war"放到webapps目录下,然后重启服务器,即可看到一个名为"blazeds"的新应用。 **配置Blazeds:** Blazeds的配置主要通过修改WEB-INF/flex/services-config.xml文件完成。这个配置...
2. **创建Topic**:在BlazDS中定义Topic,例如`/myTopic`,这将在服务器端创建一个消息通道。 3. **客户端订阅**:Flex客户端通过`MessageBroker`对象订阅Topic,例如`messageBroker.subscribe("/myTopic")`。 4. **...
2. **Web消息传递(Messaging)**:BlazeDS还支持发布/订阅模型的消息传递机制,通过使用Topic概念,客户端可以订阅特定的主题,当服务器端有新消息发布到该主题时,所有订阅者都会收到通知。这种实时通信模式对于...
因此,开发者需要在服务器端和客户端都实施严格的验证和授权机制。此外,通过优化数据传输、压缩和缓存策略,可以提高通信效率,减少服务器负载。 七、替代技术 随着HTML5的普及,Flash逐渐被WebSocket、WebRTC等...
这通常涉及到在Flex项目中添加BlazDS库,然后在服务器端(如Tomcat)部署BlazDS服务。接着,我们需要在Flex代码中定义消息代理和服务调用,以订阅和接收消息。 `messagesend`这个文件可能是一个示例项目或者包含...
消息传递服务则支持发布/订阅模式,使得服务器端可以广播消息到多个客户端,或者客户端可以向服务器发送消息。 在配置 BlazeDS 开发环境时,通常需要以下步骤: 1. 首先,确保你有 MyEclipse、Tomcat 服务器、Flex...
1. **配置BlazeDS**:在服务器端设置BlazeDS的配置文件,指定服务端的Java类和方法供Flex客户端调用。 2. **配置Spring**:在Spring的配置文件中定义远程对象 bean,映射到BlazeDS服务端的Java类和方法。 3. **...
在Spring+BlazeDS+Flex的应用中,Quartz可能被用来定期触发服务器端的任务,例如发送通知、更新数据等,然后通过BlazeDS将这些消息推送到Flex客户端。 至于压缩包内的“说明.txt”,这可能包含了项目的配置步骤、...
1. **设置环境**:首先需要安装Adobe Flex Builder或使用其他IDE集成BlazeDS库,同时在服务器端部署BlazeDS服务。 2. **创建服务**:在服务器端定义Java服务,这些服务通常以Spring Bean的形式存在,可以通过注解或...
BlazeDS是一个开源的服务器端技术,主要用于在Java应用程序和Adobe Flex前端之间提供实时的数据通信。这个技术允许双向通信,即服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。这种功能对于实时性...
BlazeDS是一款由Adobe开发的强大服务器端技术,用于实现Flex、AIR和Java应用程序之间的实时通信。它允许开发者在Flex前端与Java后端之间构建高效的数据流和消息传递系统,极大地简化了复杂应用的开发过程。本文将...
BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...
在Servlet中,可以创建`AsyncMessage`对象,将新的`Tick`实例打包成消息,然后通过MessageBroker发送出去。`UUIDUtils`用于生成唯一的消息ID,确保消息的正确传递。 在Flex客户端,我们需要配置MessageBroker以便...
AMF是一种二进制格式,相比HTTP或XML,它能更快地在服务器和客户端之间传输数据。在BlazeDS中,我们可以创建一个服务端的Java类,该类处理PDF生成逻辑,然后通过Flex客户端调用这个服务,获取生成的PDF文件。 在...
4. **服务器端处理**:在服务器端编写代码来接收文件并保存到适当的位置。 具体的实现细节可能会根据具体的应用场景有所不同,但上述步骤提供了一个基本框架来指导开发过程。通过这种方式,您可以利用BlazeDS的强大...