Red5 项目的流事件回调流程和注意事项
回调流程
参考:Red5的一般客户端连接各个事件的触发顺序,经验证实际过程如下:
程序开始(在RED5启动的时候会自动去启动APP,从而触发以上事件)
Start:MyChatRoom
appStart:MyChatRoom
第一个客户端连接(MyChatRoom/lobby/roomA)
Start:/lobby
roomStart:/lobby
Start:/lobby/roomA
roomStart:/lobby/roomA
appConnect:0
connect
appJoin:0:
roomConnect:0
connect:/lobby
roomJoin:0:/lobby
roomConnect:0
connect:/lobby/roomA
roomJoin:0:/lobby/roomA
第二个客户端连接
appConnect:1
connect
appJoin:1:
roomConnect:1
connect:/lobby
roomJoin:1:/lobby
roomConnect:1
connect:/lobby/roomA
roomJoin:1:/lobby/roomA
第二个客户端离开
roomDisconnect:1
disconnect:/lobby/roomA
roomLeave:1:/lobby/
roomAroomDisconnect:1
disconnect:/lobby
roomLeave:1:/lobby
appDisconnect:1
disconnect:
appLeave:1:
第一个客户端离开
roomDisconnect:0
disconnect:/lobby/roomA
roomLeave:0:/lobby/roomA
stop:/lobby/roomA
roomStop:/lobby/roomA
roomDisconnect:0
disconnect:/lobby
roomLeave:0:/lobby
stop:/lobby
roomStop:/lobby
appDisconnect
disconnect:
appLeave:0:
程序退出
stop
appStop:
注意事项
1. 在我第一次测试时,我继承的Adapter实现了connect、appConnect、roomConnect三个方法。发现无论何时,程序只会回调connect而不会回调另外两个。查看connect的代码和注释发现若要区分地调用appConnet和roomConnect,就不需要实现connect函数,仅实现后两者就够了。否则,Red5只会调用connect,而传入的参数scope中有区别。
对disconnect、appDisconnect、roomDisconnect同理。
需要强调这一点有些重要。因为我在使用Red5的挑战认证(CRAM)例子的时候,发现当我在appStart中把例子作为listener注册到我的应用里面,应用程序根本不会回调例子的appConnect,解决方法就是这一点。应用程序把事件分发给了connect而不是appConnect。
还要说的是,如果我们把CRAM的例子改为connect而不是appConnect,那可能需要对scope做一些区别。只有scope的值为app name的时候才执行例子中的代码。否则可能会多次执行认证过程。(未验证)
2. 我的程序中测试结果跟参考的博文在start和appStart、stop和appStop上的调用顺序有所差异,原因是什么暂时不了解。先记录下面线索:
- 执行线程是一直的,如日志
[WARN] [Red5_Scheduler_Worker-10] org.red5.core.Application - stop scope Name: test
[WARN] [Red5_Scheduler_Worker-10] org.red5.core.Application - roomStop - 我继承的父类是MultiThreadApplicationAdapter,被我参考的博文使用的是ApplicationAdapter
- 版本号可能不一样,我使用1.0.5,对方使用的版本未知,看其发文的时间显然应该是比我早得多。
Red5 项目的流事件回调流程和注意事项的更多相关文章
- MQTT事件回调流程
TLS 如下强调: 1.每个IOT设备应该有一对独有的公钥/私钥 2.SERVER的认证通过SERVER的"root certificate" SSL产生过程: $ openssl ...
- Android Multimedia框架总结(十二)CodeC部分之OMXCodec与OMX事件回调流程
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52629449 前言:上篇文中分析 ...
- Android按键事件传递流程(二)
5 应用层如何从Framework层接收按键事件 由3.2和4.5.4节可知,当InputDispatcher通过服务端管道向socket文件描述符发送消息后,epoll机制监听到了I/O事件, ...
- 细说javascripe事件传播流程
当我们使用js时,经常会遇到事件传播流程的问题,下面我说一下我的观点. 在js触发某个事件时会相应生成一个事件对象,而这个事件对象则会根据DOM事件流的方向进传递,而传递的顺序如下图所示: 事件对象会 ...
- ZT ANDROID jni 中的事件回调机制JNIenv的使用 2012-09-10 12:53:01
ANDROID jni 中的事件回调机制JNIenv的使用 2012-09-10 12:53:01 分类: 嵌入式 android framework 里java调用native,使用JNI机制,ja ...
- 「SAP技术」A项目关联公司间退货STO流程
[SAP技术]A项目关联公司间退货STO流程 1)创建公司间退货STO单据. 如下图示的公司间退货STO 4500000572, 2),VL10B, 创建交货单. 如下图交货单号:80044918, ...
- JS中的事件传播流程
JS中的事件传播流程 1,Javascript与HTML之间的交互是通过事件实现的. 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间. 可以使用侦听器来预定事件,以便事件发生时执行相应代码. 2 ...
- 用block做事件回调来简化代码,提高开发效率
我们在自定义view的时候,通常要考虑view的封装复用,所以如何把view的事件回调给Controller就是个需要好好考虑的问题, 一般来说,可选的方式主要有target-action和de ...
- Red5 1.0.0RC1 集成到tomcat6.0.35中运行&部署新的red5项目到tomcat中
1.下载red5-war-1.0-RC1.zip 解压之得到 ROOT.war 文件. 2.处理tomcat. 下载apache-tomcat-6.0.35-windows-x86.zip包,解压到你 ...
随机推荐
- ZOJ 1091 (HDU 1372) Knight Moves(BFS)
Knight Moves Time Limit: 2 Seconds Memory Limit: 65536 KB A friend of you is doing research on ...
- 关于C++对汉字拼音的处理(3)
之所以汉字转拼音的博文能出到3,主要是因为没有很完美的C++的解决方案,但是写到了这里可以有一个小结了. 以前的方法都有这种那种弊端,如果出现了无法识别的汉字(简体的)就无法修改处理了,但是下面的这种 ...
- java实现qq邮箱每天定时发送邮件
本周四的时候去学校的某机构值班,主要工作是帮老师送文件,干一些杂活.那天没有什么活儿,于是想起用Java实现发送邮件和接收邮件的功能.前几天接触过一点quartz框架,用来实现定时开始任务的功能.于是 ...
- 【原创】解决国内Android SDK无法更新问题更新
使用代理,推荐使用shadowsock 在SDK Manage的tools-options填好代理 服务器地址127.0.0.1 端口1080
- ubuntu基本操作(2)
查看当前使用那种 shell echo $SHELL 更换 shell 类型:首先检查是否安装了相应的类型 shell开启终端,直接输入相应的 shell 名称如果没有安装,则先安装,否则直接启动此时 ...
- demo_07选择器练习
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- mui H5 js动态添加不同类型的数据
html页面需要添加的页面的数据格式 <ul class="mui-table-view" id="OA_task_1"> <li class ...
- Android Context创建过程
特定的资源或者类构成了Android应用程序的运行上下文环境 PackageManager, ClassLoader, Assert等等 Android应用程序窗口的运行上下文环境是通过Con ...
- Python深入学习笔记(一)
写在前面的话 从08年接触Python到现在,断断续续地使用,到如今Python已经成为日常事物处理.科研实验,甚至工程项目的主力语言,主要因为其敏捷性和快速实现的能力.虽然看了一些Python的教程 ...
- QQ空间的“神奇”图片
近几天好多朋友问我qq空间出现的神奇图片原理,最近比较烦,事情比较多,一直没理.加上我对PHP之类的语言也一知半解. 今天闲了看了一下QQ空间,发现这个很早以前就有人写过这样的帖子了 看别人解释 (转 ...