WebRTC 源码分析之一:几个核心设计概念

源自:http://www.seaskyblog.com/?p=98  海阔天空的博客

WebRTC 的框架图网上资料很多,这里就不做过多讲解。只上图一张。

下面要介绍的是 WebRTC 中最核心的几个概念

1、OnMessage 消息机制

     对象 内部发送消息。这是一个普遍性,通用性的设计,例如 MFC、Android 消息机制都是如此。
     在对象内把消息 Post 到主线程,并且把当前对象的句柄放在消息体内,线程队列根据消息里对象句柄来回调对应的 OnMessage 函数
     2、sigslot 消息机制
     对象之间发送消息。
     发送者(发布主题者)生命一个信号量,绑定到接受者(观察者)的函数,当发送者调用一次信号量时,直接会回调观察者的函数。
     3、消息进阶传递机制(OnMessage 和 sigsolt 结合)
     最底层 sigslot 传递消息到中层后,中层使用 Post 消息传递到本层的OnMessage,在 OnMessage 里使用 sigsolt 再往上层传递消息。
     即同层之间用 OnMessage 消息传递,下层向上层传递则使用 sigsolt。
    4、线程封装原理
     线程create传送的参数是一个  ThreadInit 的类指针,这个指针包含了一个正常的本身的线程类指针 Thread ,同时也包含了一个  Runnable 指针。
    Start ( Runnable  *  runnable ), runnable 为空时,启用的是  Thread 的 Run,不为空时,启用的是  Runnable 的 Run
1
2
3
4
5
6
7
8
9
10
11
class RunTest :  public Runnable
{
      public :
           virtual void Run(Thread* t){};
      private :
           Thread thread ;
}
RunTest::RunTest ()
{
      thread .strart( this );
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值