webtc代码流程

接收数据:OnPacketReceived->ViENetworkImpl::ReceivedRTPPacket()->ViEChannel::ReceivedRTPPacket()->ViEReceiver::ReceivedRTPPacket()->ViEReceive...

2013-07-16 20:47:46

阅读数:1194

评论数:0

对照Jingle的XMPP stanza理解Libjingle的几个关键数据结构

1. SessionManager管理多个Session: Cpp代码  stanza理解Libjingle的几个关键数据结构" style="margin:0px; padding:0px; border:0px; list-style:none"&...

2013-07-14 20:57:41

阅读数:725

评论数:0

ICE协议

这个文件描述了以UDP为基础的请求/回答模式的多媒体会话的NAT穿越的协议。这个协议名叫ICE。ICE利用了STUN协议和它的扩展版本TURN。ICE可以被任何请求/问答模式的协议利用。例如sip。 1. 简介 RFC 3264 定义了一个双向会话描述协议(SDP),以建立多媒体回话。...

2013-07-14 17:22:35

阅读数:621

评论数:0

简析STUN协议

STUN简介 STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一 个本地端口所绑定的Internet端端口。这些信息...

2013-07-14 15:42:32

阅读数:555

评论数:0

P2P的原理和常见的实现方式(为libjingle开路)

为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。    如果有什么需要讨论或者指正的,欢迎留言或者邮件peakflys@...

2013-07-13 20:16:53

阅读数:680

评论数:0

libJingle中关于p2p的一段文字翻译

Peer-to-Peer Component      P2P组件   This component manages the connection between the local and remote computer. It sends and receives peer ...

2013-07-13 20:15:29

阅读数:937

评论数:0

libjingle源码分析之:Session和Transport

摘要         本文介绍了Session和Transport模块。 概述         Session、SessionClient、Transport和TransportChannel的关系如下图所示: 模块解析 SessionClient Sessio...

2013-07-13 20:14:44

阅读数:728

评论数:0

libjingle源码分析之:P2P

摘要         本文主要介绍了libjingle库中的P2P模块。 概述         在libjingle中,P2P模块并非一个完全独立的模块,它的实现依赖于Jingle协议,需要通过libjingle中的其它模块获取必要的信息和支持。P2P模块的内部结构及与其它模块...

2013-07-13 20:14:20

阅读数:839

评论数:0

libjingle源码分析之:Thread和SocketServer

摘要       本文主要分析了libjingle源码中的Thread和SocketServer模块,以及它们是如何协同工作的。首先,介绍了Thread和SocketServer的模型,给出了如何使用Thread的示例。然后,分析了Thread中的默认消息循环的处理流程和如何自己处理消息。 ...

2013-07-13 20:12:39

阅读数:863

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Data Packets(数据包)》

Data Packets(数据包) 计算机间的P2P数据被多重协议封装,就像下图演示的,具体被什么协议封装依懒于实现的应用程序。 并不是每个应用程序都能用到所有的协议,例如:文件传输应用使用了pseudo-tcp协议,但是语音聊天应用却没有使用

2013-07-13 20:10:36

阅读数:549

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Candidates(候选)》

Candidates(候选) libjingle一个主要的好处就是它可以穿透防火墙和NAT设备进行链接协商。libjingle使用ICE机制穿透防火墙。libjingle应用程序第一步要做的就是在试图协商一个链接时为其它计算机的链入创建一个潜在的本地端口地址链表。链表中的每个潜在的地址就称作一个...

2013-07-13 20:09:34

阅读数:577

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Transports, Channels, and Connections(传输、通道、链接)》

Transports, Channels, and Connections(传输、通道、链接) 每个p2pTransportChannel代表了本地机与远程机的数据通道。这个通道实际上包含着(隐藏着)一个设计复杂而健壮的体系。P2PTransportChannel管理着大量的不同的Connect...

2013-07-13 20:07:40

阅读数:764

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Connections(链接)》

Connections(链接) 一个p2p的链接实际上由两个通道组成。 ●  session negotiation channel(也称作signaling channel),会话协商通道。是为数据链接服务的沟通通道。这个通道被用来回应取得一个链接的请求,交换候选,和协商会话的细节(比如:套...

2013-07-13 20:06:19

阅读数:519

评论数:0

libjingle翻译之《Important Concepts(重要概念)之SSL Support(SSL支持)》 分类: libjingle

libjingle 支持两种类型的SSL: ● OpenSSL (for UNIX) ● SChannel (for Windows) 使用SSL,应用程序必须执行如下步骤: 1、#define FEATURE_ENABLE_SSL (如果编译器是Visual Studio,这个设置是在工...

2013-07-13 20:03:47

阅读数:845

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Naming Conventions(命名约定)》

Naming Conventions(命名约定)   libjingle有一些命名约定,比较有用; OnSomeMethod   凡是以“On”开头的函数,大多和一个信号成员关联起来了,不是在本身对象内就是在其它对象内实现了这种关联。如果此函数被所在对象调用,大有可能是在不同的线程内调用的(...

2013-07-13 20:02:56

阅读数:490

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Threads(线程)》

Threads(线程)   libjingle 考虑到使用到此库的应用程序的性能,libjingle内部支持多线程。其内组件使用1或2个全局线程: ● signaling thread  被用作创建底层(基础)组件,     例如:Session Management,Control,XM...

2013-07-13 19:55:52

阅读数:581

评论数:0

libjingle翻译之《关于libjingle》

Libjingle 是google talk voice(语音聊天) 和 p2p interoperability(点对点操作)库,是提供了google talk,p2p文件共享和语音呼叫能力的组件集,libjingle包中包含了jingle和jingle语音以及两个被xmpp标准提议的扩展。 ...

2013-07-13 19:53:41

阅读数:485

评论数:0

libjingle翻译之《Important Concepts(重要概念)之Signals (信号)》

Important Concepts(重要概念) 你应该理解libjingle中以下的重要概念: ● Signals                                          (信号) ● Threads and Messages                   ...

2013-07-13 19:50:58

阅读数:476

评论数:0

linux mint 13 支持KVM spice

官方qemu-kvm不支持,下载最新源码加--enable-spice编译,还要编译spice-server。 并且/dev/kvm期限要root和777

2013-07-03 22:56:39

阅读数:707

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭