By 紫韵: 最近对 IM 系统产生了兴趣,就看了些博客,现希望通过一个系列的文章对其稍作总结与记录,如有不对,还望指正。
IM:Instant Messaging,即时通讯,是一个允许两人或多人通过网络实时传输文字、语音、视频等的终端服务,如现在常用的 QQ、微信、百度 Hi 等。IM 完全基于 TCP/IP 网络协议族实现,而 TCP/IP 协议族则是整个互联网得以实现的技术基础。
典型的 IM 通讯方式有如下四种:
P2P &&服务器中转
一般常用的 IM 通讯方式就是 P2P 和服务器中转这两种,下面简要对比分析这两者的区别。
P2P:
P2P 多见于局域网内聊天工具,典型的应用有:飞鸽传书、天网 Maze 等。这类软件在启动后一般做两件事情:
进行 UDP 广播:发送自己信息和接受同局域网内其他端信息;
开启 TCP 监听:等待其他端进行连接。
限制和不便:
只适合 ** 在线 ** 的 ** 点对点 ** 消息传输,对离线、群组等业务支持不够;
由于 NAT 的存在,使得不同局域网内机器互联难度大大上升,在某些网络类型(对称 NAT)下无法建立连接。
** 服务器中转 **
几乎所有互联网 IM 产品都采用服务器中转这种方式进行消息传输,相比于 P2P 的方式,它的优劣如下:
** 典型的 IM 工作方式如下:**
客户端登陆 IM 通讯中心(IM 通讯服务器),获取好友列表,获取离线消息,将自身标志为在线状态,与聊天对象建立聊天通道,进行文字、语音等通信。
一个典型的 IM 系统的选型过程大致包含如下几个部分:
** IM 系统架构分层:**
一个典型的 IM 系统可能由如下及部分组成:
*** 功能点分析:***
*** 技术点分析:***
** 移动端 IM 客户端难点 **
** 移动端架构设计的难点 **
分类: 电脑/网络 >>软件解析:
P2P在IT届最初的含义是Peer-to-peer(点对点)
现在P2P已经被更广泛的理解为Pointer-to-Pointer, PC-to-PC等等。
简单来说,P2P就是指数据的传输不再通过服务器,而是网络用户之间直接传递数据
举一个简单的例子,在QQ出现之前,人们上网聊天大多通过聊天室,信息的传递方式是:用户A-聊天室服务器-用户B。这种被称为“客户端/服务器”模式(Client/Server,简称C/S。在基于HTTP协议的基础上,又被命名为“浏览器/服务器”模式,Brower/Server,简称B/S)。这些都不是P2P的方式。
在QQ时代,用户与服务器的交互是用来完成登陆、维持在线状态等等,信息。用户之间的信息传递不需要服务器参与,信息传递方式为:用户A-用户B。这就是典型的P2P应用。
不过,当信息的接收方不在线是,信息会通过服务器中转,这就又变成了上面提到的C/S模式
点对点技术Peer to peer, 简称P2P,对等互联网络技术,点对点网络技术,点对点文件共享交换,深度搜索、分布计算。P2P是一种网络新技术,是一种New Internet Directory Service。网站与浏览器之间的沟通,采用的是HTTP的标准协定。在中国大陆,此技术被称为“点对点”或“对等联网”技术,台湾则称为“点对点”技术。在HTTP标准协定下,大家所熟悉的门户网站或搜寻引擎,帮您分类并搜寻存在因特网上网站的资讯(Internet Directory Service)。而“Peer to peer”新技术架构将形成另一个全球标准的协定,也就是对于搜寻资讯的网友而言,其所找到、看到、拿到的将是存在因特网所有个人电脑的资讯, 其内容是由全球4.8亿台电脑所组成的,将远大于400万个网站的内容,是一个比任何门户网站或搜索引擎更大的New Internet Directory Service。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)