JINGLE
leehark
这个作者很懒,什么都没留下…
展开
-
[转]解析XMPP协议分析与应用
XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。XMPP(可扩展消息处理现场协转载 2012-01-25 20:06:41 · 6403 阅读 · 0 评论 -
libjingle源码解析(2)--libjingle是怎么运作的?
本文主要总结至libjingle源码和官方文章:http://code.google.com/apis/talk/libjingle/libjingle_applications.htmlligjingle的总体架构如下图:1.Application模块Ligjingle的应用程序首先调用XMPP Messaging Component的XmppClient对象进行登录原创 2012-02-05 18:29:57 · 12188 阅读 · 6 评论 -
STUN协议浅析
libjingle的UDP打洞是通过STUN/TURN协议进行的,本文介绍了STUN的基本工作原理。转自:http://blog.163.com/philly_li/blog/static/392674052008414252404/STUN协议的全称是Simple Traversal of User Datagram Protocol Through Network Ad转载 2012-02-08 21:09:13 · 5754 阅读 · 0 评论 -
libjingle源码解析(4)-【PseudoTcp】建立UDP之上的TCP(2):对交互数据流的处理
对交互数据流的处理TCP包含两类数据流,交互数据流和成块数据流。交互数据流的特点是每个报文数据字节数比较小,大部分是10字节一下,而成块数据流的特点是大部分报文是满长度的,一般能达到MSS。本文先介绍一些TCP和PTCP对交互数据流的处理。交互式输入 Rlogin是典型的交互数据流应用,每一按键都会产生数据分组,使客户端传输一个报文,接连总共产生4个报文:原创 2012-06-13 22:44:26 · 6174 阅读 · 0 评论 -
libjingle源码解析(5)-【PseudoTcp】建立UDP之上的TCP(3):对成块数据流的处理
PseudoTcp对成块数据流的处理上一篇谈论了TCP和PTCP对交互数据流的处理方法。这一篇谈论另一个数据流--成块数据流。成块数据流主要采用滑动窗口协议和慢启动算法来控制成块数据的流量。滑动窗口 滑动窗口允许发送方在停止并等待确认前可以连续发送多个分组。因此发送方不必每发一个就停下来等待,这样可以加速数据的传输。这个Nagle算法冲突么?不会,因为成块数据流的分组都是原创 2012-06-17 19:23:08 · 6301 阅读 · 0 评论 -
libjingle源码解析(6)-【PseudoTcp】建立UDP之上的TCP(4):超时与重传
超时与重传 TCP是面向连接的可靠的运输层。当数据丢失时,TCP需要重传包。TCP通过设置定时器解决这种问题。 对每个连接,TCP有4个不同的定时器: 1)重传定时器:用于当希望收到另一端的确认,而没有收到时。 2)坚持定时器:使窗口大小信息保持不断流动。 3)保活定时器:可检测空闲连接另一端何时崩溃或重启。原创 2012-06-28 22:36:29 · 6677 阅读 · 2 评论 -
libjingle源码解析(3)-【PseudoTcp】建立UDP之上的TCP(1):连接和关闭
PseudoTcp - 建立UDP之上的TCP(1):连接和关闭mail:lihe21327 [at] gmail [dot] com最近阅读了Libjingle的PseudoTcp.LibJingle很是下功夫做P2P了,在UDP之上做了可靠的传输协议PseudoTcp.了解PseudoTcp之前,我们需要了解一些TCP的特性。根据《TCP/IP详解》卷1,可以总结如下:原创 2012-06-11 22:10:24 · 9680 阅读 · 4 评论