http://flexman.blog.sohu.com/129838570.html

http://flexman.blog.sohu.com/130007574.html

step 1: 首先要确定RTMP的端口,可以利用netstat -an来查看

step 2: 修改services-config.xml,确保有rtmp的相关节点:

<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
<endpoint uri="rtmp://{server.name}:8323" class="flex.messaging.endpoints.RTMPEndpoint"/>
<properties>
<idle-timeout-minutes>20</idle-timeout-minutes>
</properties>
</channel-definition>

step 3: 在网站新建apps目录,并添加MyChatRoom文件夹作为应用程序目录

step 4: 定义MyChatApp类继承自FluorineFx.Messaging.Adapter.ApplicationAdapter,并定义供客户端调用的方法GetResult()

step 5: 在应用程序目录(MyChatRoom)里添加配置文件app.config,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<application-handler type="ServiceLibrary8.MyChatApp"/>
</configuration>

step 6: 新建Flex项目,分为 连接rtmp 和 调用方法 两部分来实现

服务器端:

using System;
using System.Collections.Generic;
using System.Text;
using FluorineFx.Messaging.Adapter; namespace ServiceLibrary8
{
public class MyChatApp : ApplicationAdapter
{
public string GetResult(string name, int age)
{
return name + " is " + age + " years old";
}
}
}

Flex端:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Button x="211" y="69" label="连接RTMP" click="onConnectClick()" />
<mx:Button x="190" y="113" label="调用RTMP提供的方法" click="onFunctionClick()" />
<mx:Label id="lblResult" x="230" y="31" text="Label"/> <mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent; private var nc:NetConnection; private function onConnectClick():void
{
nc = new NetConnection();
nc.connect("rtmp://localhost:8323/MyChatRoom");
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
nc.client = this;
} private function netStatus(event:NetStatusEvent):void
{
var strCode:String = event.info.code;
if(strCode=="NetConnection.Connect.Success")
{
this.lblResult.text = "连接RTMP成功!";
}
else
{
this.lblResult.text = "连接RTMP失败!";
}
} private function onFunctionClick():void
{
var responder:Responder = new Responder(onResult,onError);
nc.call("GetResult",responder,"袁承志",20);
} private function onResult(result:String):void
{
this.lblResult.text = "方法返回结果:" + result;
} private function onError(event:Event):void
{
this.lblResult.text = "调用方法失败!";
}
]]>
</mx:Script> </mx:Application>

即时通信(RPC)的Rtmp实现--配置篇的更多相关文章

  1. 即时通信(RPC)的Rtmp实现--代码实现篇

    实现的一般步骤是: step 1: 定义NetConnection对象连接rtmp,并监听NetStatusEvent.NET_STATUS事件 step 2: 在NetStatusEvent.NET ...

  2. iOS开发之使用XMPPFramework实现即时通信(二)

    上篇的博客iOS开发之使用XMPPFramework实现即时通信(一)只是本篇的引子,本篇博客就给之前的微信加上即时通讯的功能,主要是对XMPPFramework的使用.本篇博客中用到了Spark做测 ...

  3. (转)基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端

    主要包含4个章节: 1. Java 领域的即时通信的解决方案 2. 搭建 Openfire 服务器 3. 使用客户端测试我们搭建的 Openfire 服务器 4. Smack 和 ASmack 一.J ...

  4. 【原】iOS学习43即时通信之XMPP(2)

    本篇是 即时通信之XMPP(2) 接上次 即时通信之XMPP(1) 1. 好友列表 1> 初始化好友花名册 // 获取管理好友的单例对象 XMPPRosterCoreDataStorage *r ...

  5. QQ 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件

    QQ 编辑 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件.腾讯QQ支持在线聊天.视频通话.点对点断点续传文件.共享文件.网络硬盘.自定义面板.QQ邮箱等多种功 ...

  6. 使用flask_socketio实现客户端间即时通信

    前期没有来得及好好总结,现在复习总结一下: Socket.IO 背后主要的思想是你可以发送和接收想要的任何事件,携带你想要的任何数据.任何可以编码为 JSON 的对象都可以做到,并且也支持二进制数据. ...

  7. android-使用环信SDK开发即时通信功能及源代码下载

    近期项目中集成即时聊天功能.挑来拣去,终于选择环信SDK来进行开发,选择环信的主要原因是接口方便.简洁.说明文档清楚易懂.文档有android.ios.和后台server端.还是非常全的. 环信官网: ...

  8. (转)Linux-HA开源软件Heartbeat(配置篇)

    原文:http://ixdba.blog.51cto.com/2895551/548625 http://gzsamlee.blog.51cto.com/9976612/1828870 Linux-H ...

  9. iOS开发之使用XMPPFramework实现即时通信

    iOS开发之使用XMPPFramework实现即时通信   关于XMPP的理论介绍在本篇博客中就不做赘述了,如何在我们之前的微信中加入XMPP协议来实现通信呢?下面将会介绍一下XMPP的基本的知识,让 ...

随机推荐

  1. Android百度地图开发(四)线路搜索

    一.标注驾车线路搜索 1.首先需要定义一个起点和一个终点 // 定义一个起始点和终点 private MKPlanNode start; private MKPlanNode end; 2.实例化地图 ...

  2. WebGoat学习——跨站脚本攻击(Cross‐Site Scripting (XSS))

    跨站脚本攻击(Cross‐Site Scripting (XSS)) XSS(Cross Site Script)跨站脚本攻击.是指攻击者向被攻击Web 页面里插入恶意html代码,当用户浏览该页之时 ...

  3. url(data:image/png;base64,R0**)(转)

    url(data:image/png;base64,R0**) 所谓"data"类型的Url格式,是在RFC2397中 提出的,目的对于一些"小"的数据,可以在 ...

  4. Bluebird-Collections

    Promise实例方法和Promise类核心静态方法用于处理promise或者混合型(mixed)promise和值的集合. 所有的集合实例方法都等效于Promise对象中的静态方法,例如:someP ...

  5. 【boost】BOOST_LOCAL_FUNCTION体验

    c++11里支持使用lambda在函数内定义本地嵌套函数,将一些算法的判断式定义为本地函数可以使代码更加清晰,同时声明和调用靠近也使得更容易维护.遗憾的是公司开发平台任然停留在vs2008,使用boo ...

  6. accordion data-options iconCls

    <div id="aa" class="easyui-accordion" style="width:500px;height:300px;&q ...

  7. 【125】固定IP的电脑配置无线路由

    标题所提到的情况即为有些电脑是用静态IP上网的,与普通的宽带连接稍微有些不同,例如我的电脑的静态IP设置是这样的: 只有按照上面的设置才可以正常上网,因此在配置无线路由器的时候也要用到上面的内容,废话 ...

  8. hdu 1281 棋盘游戏

    http://acm.hdu.edu.cn/showproblem.php?pid=1281 棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  9. Codeforces 711 C. Coloring Trees (dp)

    题目链接:http://codeforces.com/problemset/problem/711/C 给你n棵树,m种颜色,k是指定最后的完美值.接下来一行n个数 表示1~n树原本的颜色,0的话就是 ...

  10. Domino 迁移到Exchange 服务器 之在Domino Server 创建用户!

    我们打开Lotus Admin,导航到注册,点击到需要设置的人,然后再选择验证者标识符选择相应的组织配置标识符: