关于即时通信技术选择的一点浅见 推荐 原创 heimuya888 2011-06-29 12:31:29 ©著作权 文章标签 职场 休闲 XMPP SIP 文章分类 网络安全 ©著作权归作者所有:来自51CTO博客作者heimuya888的原创作品,请联系作者获取转载授权,否则将追究法律责任 目前即时通信主要有四种协议:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP。到目前,主流的主要是XMPP和SIP/SIMPLE。 SIMPLE利用SIP来发送presence信息。SIP是IETF中为终端制定的协议。要谈SIMPLE,首先要谈谈SIP,在传统的电路交换向分组交换演进的过程中,SIP起到了很关键的作用,IMS中的核心协议就是SIP,并已SIP作为中介来实现PSTN,VOIP,移动网络的融合。所以从强调开放性的Internet网络和强调垄断性的电信网络两个网络属性来看的话,SIP其实更倾向于后者。SIP包含着完善的网络互通设计,所以是VOIP的首选。如果你的即时通信软件还想与传统的电话网络互连的话,SIP应该是首选。SIP通过SDP来描述媒体流,并通过信令交换主被叫的媒体流信息,例如IP地址和端口,再依靠如实时协议(RTP)来进行实际上的媒体连接。这个媒体连接不仅仅包括语音,也包括视频等数据流。所以SIP的即时通信会话是点对点的,但信令流是依据网络配置逐级路由传递的。而且网络延伸的范围包括PC网络客户端,PSTN的传统电话,移动终端,VOIP模拟电话终端,VOIP的小交网络,接入网等等,无所不到。要支持这么多网络,协议的互连互通,所以关于SIP的相关扩展就可想而知,这其中还要包括网管,计费等功能的协调与支持,所以SIP的电信网络属性应该更重一些。SIMPLE是SIP为了支持即时通信的新特点做出的扩展,其实是向Internet网络的回归。 如果我们选择SIP作为即时通信的实现方向的话,应该说没有问题,正所谓条条大路通罗马,只要通信质量好,网络负载轻,系统安全,业务功能齐全,其实不在乎用什么技术。但前提是你实力足够强,技术足够牛。如果是对于搞新产品的小公司来说,如果你不是要去搞VOIP,选择SIP,比较容易走上封闭的羊肠小道。虽然你实现了即时通信的业务功能,但你吸引新用户的能力有限,在现在日益强调网络社交属性的今天,很难想象你能吸引多少用户去安装一个新的即时通信的客户端,用户一般只会用他们常用的MSN,QQ,Skype等等,对于新的即时通信客户端,他们已经装到反胃了。 但如果你实力足够强,这也不是绝对的,MSN也是基于SIP的,随着即时通信的功能日益扩展,私有的协议在不断扩展,你把你的私有协议开放出来,你也会有追随者帮你写XMPP的网关适配模块,借助XMPP与其它IM进行互联互通。但对新起步的公司来说,好像不是那么容易,那就得自己动手写,把自己适配到XMPP的网络中去。可前提是用多少其它客户端用户对你的系统感兴趣,并且在他们的客户端中安装你的应用的插件。 所以从这个角度来说,不如直接选择XMPP,因为大多数IM客户端不在乎与传统电信网络的融合,像SKype那样提供与PSTN的网络接入。大多数只是纯的Internet应用,直接实现点到点的语音、视频和数据连接。基于XMPP的实现,通过加入主流的IM插件,可以将主流IM的用户资源引入到你的IM应用中,借助网络社交进行推荐,能更快的吸引新用户,以及他们的好友加入进来。酒好也怕巷子深,所以得借助XMPP,把酒传销出去。至于大家愿不愿意通过你的IM客户端登陆其它主流IM,那就看你设计的功夫了,既要让用户接纳你,还不要让他们感觉到拉远了与他们熟悉的IM间的距离。要共赢。 过去大家总觉得XMPP在点对点的媒体流互通支持上还不行,如果通过带内传输媒体信息的话,通过服务器一级级中继传输,那网路开销可想而知,这还不包括时间上的延迟。其实很多应用都已经支持了点对点的互通,像Libjingle。SIP也就是通过交换主被叫信息直接进行点对点通信的,XMPP当然也可以,而且考虑到XML的强大的灵活的扩展功能,搞定任何网络应用都不成问题,所以对于新功能新需求的实现,不成问题,不过最好看看XMPP的新的扩展规范,没准别人已经实现了,照着规范来,也好实现大家的互连互通。如果为快速实现功能,当然可以自己定制自己的私有协议,没准还能写到RFC里呢。 本文只是提供IM通信技术选择的一些思路,从我的理解,如果自己要实现一个新的IM应用,选择XMPP应该更合适一些。这当然也有自己理解上的误区,欢迎讨论和拍砖。 赞 收藏 评论 分享 举报 上一篇:WebRTC在Windows下的成功编译 下一篇:WebRTC sample 程序初测(含测试程序) 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 开源即时通讯(IM)项目OpenIM源码部署指南 OpenIM的部署涉及多个组件,并支持多种方式,包括源码、Docker和Kubernetes等。这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异。确实,这些都是复杂的问题,涉及到深入的技术细节和精准的系统配置。我们的目标是简化部署流程,同时保持系统的灵活性和稳定性,以适应不同用户的需求。目前3.5版本已经简化了部署流程,而且这个版本会长期维护,欢迎大家使用。1. 环境及组件要 IP TCP 配置项 全开源即时通讯源码系统(php即时聊天im源码)及uniapp开源框架 IM即时通讯已成为现代社交和沟通的重要方式之一。即时通讯(Instant Messaging,IM)已经成为人们日常生活中不可或缺的一部分。IM应用程序使用户能够快速发送文字、图片、语音和视频等多媒体信息,与朋友、家人和同事保持实时联系。为了满足用户对IM应用的需求,开发人员经常使用现有的IM源码来构建自己的应用程序。无论是个人还是企业,在实时对话、文件传输、语音视频通话等方面都离不 即时通讯 客户端 即时通讯源码 im即时通讯源码 C++启发式搜索(A*),给你一点阳光,你一定要灿烂哟! 公众号:编程驿站1. 前言给小孩子出一道数学题,在他不知所措,没有头绪时,你给他点提示。也许这点提示可以让他灵光一现,找到一点光亮,少一些脑回路,快速找到答案。这便是启发的作用。启发式搜索(Heuristically Search)又称为有信息搜索(Informed Search),是利用问题拥有的启发信息来引导搜索,达到减少搜索范围、降低问题复杂度的目的,这种利用启发信息的搜索过程称为启发 搜索 最短距离 子节点 外包的一点浅见 以前以成本为优势的外包项目随着中国的人工逐步的上升而慢慢减弱。外包行业应该怎么去做?个 其生存的空间。 外包 即时通信 我使用的是融云首先注册账号登录点击服务管理查看下<html> <head> <meta charset="utf-8" /> <title></titl js html Javascript 域名服务器 Apache DbUtils工具的一点浅见 今天小研究了下apache的DbUtils包,看了下apache的官方文档的介绍,这玩意主要可以带来三点好处.可以避免内存泄露,大家在使用JDBC的资源时候,有时候可能会忘记关闭Connection,Statement,ResultSet,添加这些资源的close方法是很烦琐,但DbUtils替我们解决了这个问题. 使用DbUtils代码相较JDBC会简洁不少 职场 休闲 apache DbUtils jdbc 对于信息安全的一点浅见 无论是信息安全技术和信息安全管理,究其根本而言,其核心就是保证数据和服务的安全;特别是数据安全更是核心中的核心,原因很简单:信息从某种意义上可以理解为就是数据。由此推论,就比较好理解如下几种安全之间的关系: 某些服务及其相关数据是依赖于某些中间件系统或其本身就是一种特定应用,故所以所谓的应用安全; 数据和服务总是被安装在某类系统上的(可以广义地 网络安全 信息安全 数据安全 中间件 数据库系统 java 即时通信 # Java即时通信实现方法## 1. 整件事情的流程下面是实现Java即时通信的一般流程,可以用表格展示步骤:| 步骤 | 描述 || --- | --- || 1 | 创建服务器端,等待客户端连接 || 2 | 创建客户端,连接到服务器 || 3 | 服务器和客户端建立连接 || 4 | 服务器和客户端进行通信 || 5 | 关闭连接 |## 2. 每一步需要做什么 客户端 服务器端 服务器 linux即时通信 红帽(Red Hat)是全球领先的开源软件与解决方案提供商之一,拥有出色的Linux操作系统。随着当今信息技术的快速发展,即时通信也越来越成为人们生活和工作中不可或缺的一部分。而在Linux系统中,也有着许多优秀的即时通信工具,可以满足用户的各种需求。Linux即时通信工具提供了各种功能,包括文字、音频和视频通话,文件传输以及群组聊天等。与其他平台不同的是,Linux操作系统因其稳定性和强大的 即时通信 视频通话 客户端 对即时通讯个人信息的一点想法 对即时通讯个人信息的一点想法 红朝儒生2014-4-22 关键字:即时通讯 个人信息简介:对即时通讯中,个人信息(头像、签名)的一些想法。 吾在中兴时,搞过一段时间的即时通讯(IM)。当时提出一个关于设置头像的专利。这个专利内容是说: 事先设置一个各种心情的头像列表,比如高兴、愤怒、疲劳、吃饭等各种图片。 想切换心情时,立即点一下下拉菜单... 即时通讯 下拉菜单 数据 群组 其他 关于动车高铁安全性的一点浅见 2011年7月23日晚上20点34分,杭深线永嘉至温州南间,北京南至福州D301次列车与杭州至福州南D3115次列车发生追尾事故,初步查明脱轨原因是D3115次列车动车遭到雷击后失去动力停车,造成D301次列车追尾。事故已造成39人死亡,210人受伤。38名遇难者身份确认,其中有两名外籍人士。   职场 休闲 动车高铁安全性 动车组追尾 723事件 XMPP即时通信资源 1 Jabber http: 职场 休闲 XMPP 即时通信 关于搞技术的一点思考 随着越来越多的大厂上市,也要好多技术同学实现了财务自由。说实话,我是 技术无关 基于即时通信和LBS技术的位置感知… 基于即时通信和LBS技术的位置感知服务(二):介绍,协议的 服务器 客户端 解决方案 LinkedIn 即时通信系统的优化 前言LinkedIn 的即时通信系统目前单台机器可以处理数十万的持久连接,这是不断调优的结果。最近,他们在官网博客中发布了优化过程,介绍了即时通信系统的技术选型、调优的重点。基础技术构成即时通信技术的基本要求就是server能够向client推送数据,需要通过持久连接实现,而不是传统的“请求-响应”模式。对于这个需求,LinkedIn 选择了 Server-sent events (SSE)来实现 java 企业即时通信软件有哪些?要如何选择? 随着企业数字化转型的加速,即时通信软件已成为企业日常沟通的重要工具。但是市面上的企业即时通信软件种类繁多,如何选择适合自己企业的即时通信软件呢?本文将为大家介绍几款常用的企业即时通信软件以及如何选择。企业微信企业微信是腾讯公司推出的一款专为企业打造的即时通信软件,为企业提供了办公、沟通、协同、服务等全方位的解决方案。企业微信拥有丰富的功能,如企业通讯录、OA办公、日程管理、审批、会议、考勤等,可以 即时通信 即时通讯 iOS 即时通信的聊天协议 1.首先我们以实现方式来切入,基本上有以下四种实现方式: 1)基于Scoket原生:代表框架 CocoaAsyncSocket。2)基于WebScoket:代表框架 SocketRocket。3)基于MQTT:代表框架 MQTTKit。4)基于XMPP:代表框架 XMPPFramework 当然,以 封装 推送 自定义 IM即时通讯设计技术点总结 与传统的c/s、b/s架构不同,IM架构是c/s/c架构的;IM系统重要的指标就是实时性、可靠性。 IM 即时通讯 即时通信 IM设计 长轮询技术-即时通信 长轮询 ... 长轮询 java 入门 即时通信 java即时消息推送技术 JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM:指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS(Java java 入门 即时通信 java 可靠消息服务 Java 数据 apache