抛弃LCDS和FMS,在tomcat下开发Red5应用(第四篇)-客户端和服务器端的方法互相调用
来源:互联网 发布:波波虎网络家庭影院 编辑:程序博客网 时间:2024/05/26 02:52
客户端和服务器端的方法相互调用比较重要,在线列表基本上全是用这种方式实现的,当然也有使用RemoteSharedObject来实现的,但本人不太喜欢用RemoteSharedObject,只是用RemoteSharedObject来进行广播等操作。
1.编辑第二篇(抛弃LCDS和FMS,在tomcat下开发Red5应用(第二篇)-建立新的Red5应用)中的Application.java:
- package red5.example.red5server;
- import org.red5.server.adapter.ApplicationAdapter;
- import org.red5.server.api.IConnection;
- import org.red5.server.api.Red5;
- import org.red5.server.api.service.IServiceCapableConnection;
- public class Application extends ApplicationAdapter {
- private String userName;
- //客户端调用的方法
- public String callFromClient(String userName) {
- this.userName = userName;
- callClient();
- return "Hello:"+userName;
- }
- //服务器端调用客户端的方法
- public void callClient() {
- IConnection conn=Red5.getConnectionLocal();
- if (conn instanceof IServiceCapableConnection) {
- IServiceCapableConnection sc = (IServiceCapableConnection) conn;
- sc.invoke("callFromServer", new Object[]{"hi,"+userName+" this message from server"});
- }
- }
- }
PS:记得将编译好的class文件放入webapps\ROOT\WEB-INF\classes。
2.编辑第二篇(抛弃LCDS和FMS,在tomcat下开发Red5应用(第二篇)-建立新的Red5应用)中的red5client001.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
- <mx:Script>
- <![CDATA[
- import flash.net.*;
- import flash.events.*;
- import flash.utils.*;
- import mx.controls.*;
- private var nc:NetConnection;
- public function init():void {
- nc = new NetConnection();
- nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
- nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, netSecurityError);
- nc.connect("rtmp://localhost/red5Server");
- nc.client = this;
- }
- private function netStatus(event:NetStatusEvent):void {
- var connStatus:String = event.info.code;
- //Alert.show(connStatus);
- if(connStatus == "NetConnection.Connect.Success") {
- nc.call("callFromClient",new Responder(callServerMethodResult,callServerMethodFault),Math.random().toString());
- }
- }
- private function netSecurityError(event:SecurityErrorEvent):void {
- Alert.show("netSecurityError: " + event);
- }
- public function callServerMethodResult(re:String):void {
- Alert.show("客户端调用服务器端方法成功,返回结果:"+re);
- }
- public function callServerMethodFault(fo:Object):void {
- Alert.show("客户端调用服务器端方法失败:"+fo.toString());
- }
- public function callFromServer(re:Object):void {
- Alert.show("服务器端调用客户端方法,传递的参数为:"+re.toString());
- }
- ]]>
- </mx:Script>
- </mx:Application>
将编译好的swf拷贝到webapps\red5Server目录下。
3.重新启动tomcat 运行浏览器,在地址栏输入http://localhost:8080/red5Server/red5client001.html 看到弹出窗口了吧。
客户端和服务器端方法相互调用就这么简单,实际上原有的基于FMS开发的Flex客户端代码修改量是非常小的。在下一篇将讲解客户端和服务器端方法调用中的参数传递。
0 0
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第四篇)-客户端和服务器端的方法互相调用
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第五篇)-客户端和服务器端方法调用的参数传递
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第二篇)-建立新的Red5应用
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第三篇)-ApplicationAdapte
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第六篇)-如何使用RemoteObject
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(引子)
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第一篇)-将Red5部署到tomcat中
- FMS服务器端和客户端互相调用
- 在tomcat下开发Red5应用
- Android客户端和服务器端数据交互的第四种方法
- Android下调用webservice的服务器端和客户端详解
- FMS服务器和客户端之间的远程调用实现
- 客户端和服务器端互相收发消息
- 【JSP 随笔之一】JSP常用语法和使用总括&&JSP服务器端和客户端代码互相调用
- red5和FMS流媒体服务器简介
- 在客户端(js)调用服务器端方法(C#)
- java socket 客户端和服务器端互相通信(聊天)
- java socket 客户端和服务器端互相通信(聊天)
- android之Activity
- PDF格式转换器哪里下载好
- 教你快速有效去除win7 64位系统桌面快捷箭头
- 冒泡、选择、插入、归并、希尔、快速排序效率比较代码 .
- Spring3.0实现REST实例
- 抛弃LCDS和FMS,在tomcat下开发Red5应用(第四篇)-客户端和服务器端的方法互相调用
- 织梦转移数据提示"dede_advancedsearch' doesn't exist"错误解决方法
- java文件输入输出
- quick-cocos2d-x 在 Mac 下的编译环境(安卓移植)
- 开始iOS 7中自动布局教程(二)
- java Jconsole调优
- (总结)Web性能压力测试工具之Siege详解
- SendKeys 语句
- 从一个点云中提取索引