SIP vs XMPP
sip和xmpp都是应用层的协议,主要用来在互联网上发送语音和即时通讯IM,rfc3521定义了sip,rfc3920定义了xmpp。xmpp来自即时通讯系统,sip类似语音和视频通信。
xmpp协议主要负责数据的交换,sip主要负责端与端的链接建立,维护,终结,2者不是一个概念
随后,xmpp协议增加了jingle协议后,支持语音,视频 而sip协议添加了simple协议后,支持数据交换
sip协议,有sip报文格式的头部和内容2部分组成,是基于文本格式的,十分平面化,解析不容易被继承,而xmpp是采用xml进行传输数据的
sip的连接建立通道与数据传送通道是各自独立的,连接建立在sip client 与 server之间,而数据传送通道是在client---client之间之间进行的,这个对视频、音频文件的传送业务很适合。
xmpp协议的连接与数据的传递通道是一体的,client只与server建立连接,而client与client之间是没有连接的。client之间传送的通道是client1 --- server1 ------ server2 ------ clent2 。这种方式看起来扩展性差,server压力很大,但是能够实现很好的业务功能,比如留言,广播,群聊,状态更新,blog,微博等。
xmpp服务器对比:http://hi.baidu.com/chs_garea/item/74468028891943c5dcf69a3b
个人认为:openfire可以优点是用java编写 。缺点是不支持群集功能
ejabberd: 主要缺点是用erlang开发,是俄罗斯人开发的,很少有人懂,支持群集
jabberd:是用c语言开发
企业内部部署IM使用 Wildfire + Spark 是最佳的组合
公开地址:http://blog.csdn.net/learnios/article/details/23334597
SIP vs XMPP的更多相关文章
- Android IOS WebRTC 音视频开发总结(十四)-- sip和xmpp异同
这篇文章主要介绍XMPP与SIP,很多人容易混淆这两个概念,转载请说明出处(博客园RTC.Blacker). 简介:XMPP和SIP都是应用层协议,主要用于互联网上发送语音和即时通讯. SIP在RFC ...
- XMPP and SIP
过去一年多,一直关注这方面的技术和发展,这里有一个简单的介绍,我觉得比较简洁明了.我做了一点翻译,还有我的一些评估. SIP vs XMPP (Jabber) SIP and XMPP a ...
- 基于XMPP协议的手机多方多端即时通讯方案
一.开发背景 1.国际背景 随着Internet技术的高速发展,即时通信已经成为一种广泛使用的通信方式.1996年Mirabilis公司推出了世界上第一个即时通信系统ICQ,不到10年间,即时通信(I ...
- SIP SDP RTSP RTP RTCP webrtc
rfc1889 rfc2326 rfc3261 rfc3550 rfc3856 rfc6120. SIP SDP RTSP RTP RTCP,就像他们出现的顺序一样,他们在实际应用中的启用 ...
- 即时通讯协议之XMPP
目前IM即时通信有四种协议 1.即时信息和空间协议(IMPP) 2.空间和即时信息协议(PRIM) 3.针对即时通讯和空间平衡扩充的进程开始协议SIP 4.XMPP协议: 该协议的前身是Jabber, ...
- SIP学习笔记 -- RFC 3261
1.SDP (rfc 4566) 1)用于交换参数 2)内容分三部分Session description, Time description and Media description ...
- SIP协议&开源SIP服务器搭建和客户端安装
1. SIP SIP 是一个应用层的控制协议,可以用来建立,修改,和终止多媒体会话,例如Internet电话 SIP在建立和维持终止多媒体会话协议上,支持五个方面: 1) 用户定位: 检查终端用户 ...
- 使用WebRTC搭建前端视频聊天室——信令篇
博客原文地址 建议看这篇之前先看一下使用WebRTC搭建前端视频聊天室——入门篇 如果需要搭建实例的话可以参照SkyRTC-demo:github地址 其中使用了两个库:SkyRTC(github地址 ...
- 使用WebRTC搭建前端视频聊天室——入门篇
http://segmentfault.com/a/1190000000436544 什么是WebRTC? 众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转.比如现在有两 ...
随机推荐
- vs快捷方式
项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示Solution Explorer(解决方案资源管理器) Shift + Alt+ C = 添加 ...
- POJ 1151 Atlantis(线段树-扫描线,矩形面积并)
题目链接:http://poj.org/problem?id=1151 题目大意:坐标轴上给你n个矩形, 问这n个矩形覆盖的面积 题目思路:矩形面积并. 代码如下: #include<stdio ...
- 测试webAPP时图标背景一片黑色
写了个web小程序,打包成APP后安装到手机里,在魅族手机里显示是正常的,但是在EMUI和MIUI中却显示一片黑色,搞了半天才发现原来是因为EMUI会自动给应用的图标裁剪圆角并加上背景色,背景色是系统 ...
- mysql计划字段中有多少个逗号,或者某个标识符
eg:计划url中有多少个小数点 select length('www.mysql.com')-length(REPLACE('www.mysql.com','.',''));
- python smtplib发送邮件遇到的认证问题
python的smtplib模块主要是用来发送邮件的,使用起来比较方便. 使用程序发送邮件只需要写以下几行代码就OK了: #!/usr/bin/env python import smtplib s ...
- IIS发布WCF服务项目之本地
最近由于项目需求,要做一个上传文件附件的功能,由于是多用户访问,所以这就用到了WCF服务,程序编写完成就需要发布了, 下面记录下发布到IIS的过程: 1,安装IIS 第一步:检查Windows7中II ...
- call_user_function()方法的使用
call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] ) 调用第一个参数所提供的用户自定义的函数. 返回值: ...
- Linux命令小结:crontab/netstat/iostat/sar
crontab cron可以设定在指定的时间运行任务. 1.查看定时任务 [root@client1 ~]# crontab -l -u root */1 * * * * date >> ...
- ListView显示不同行以及数据重用
Handling ListViews with Multiple Row Types When you start writing Android Apps it isn’t long before ...
- Shell文本处理 - 匹配与编辑
正则表达式 符号 含义 . 匹配任意ASCII中任意单个字符,或是字母,或是数字 ^ 匹配行首 $ 匹配行尾 * 匹配任意字符或前一个的一次或多次重复 \ 转义,被转义的有$ . ‘ “ * [ ] ...