写点什么

IM 即时通讯实现的原理

用户头像
v16629866266
关注
发布于: 2021 年 01 月 18 日
IM即时通讯实现的原理

IM 技术全称 Instant Messaging ,中文翻译“即时通讯”,它是一种使人们能在网上识别在线用户并与他们实时交换消息的技术,是电子邮件发明以来迅速崛起的在线通讯方式。


IM 的出现和互联网有着密不可分的关系,IM 完全基于 TCP/IP 网络协议族实现,而 TCP/IP 协议族则是整个互联网得以实现的技术基础。最早出现即时通讯协议是 IRC(Internet Relay Chat),但是可惜的是它仅能单纯的使用文字、符号的方式通过互联网进行交谈和沟通。随着互连网变得高度发达,即时通讯也变得远不止聊天这么简单,自 1996 年第一个 IM 产品 ICQ 发明后,IM 的技术和功能也开始基本成型,语音、视频、文件共享、短信发送等高级信息交换功能都可以在 IM 工具上实现,于 是功能强大的 IM 软件便足以搭建一个完整的通信交流平台。目前最具代表性的几款的 IM 即时通讯软件有 MSN、Google Talk、Yahoo、Messenger 、腾讯 QQ 等。

典型的 IM 工作方式如下:登陆 IM 即时通讯中心(IM 即时通讯服务器),获取一个自建立的历史的交流对象列表(好友列表),然后自身标志为在线状态,当好友列表中的某人在任何时候登录上线并试图通过你的计算机联系你 时,IM 系统会发一个消息提醒你,然后你能与他建立一个聊天会话通道进行各种消息如键入文字、通过语音等的交流。

从技术上来说,IM 的基本技术原理如下:通过 IM 服务器登陆或注销;用户 A 通过列表找到 B,用户 B 获得消息并与之交谈;通过 IM 服务器指引建立与 B 单独的通讯通道。

第一步,用户 A 输入自己的用户名和密码登录 IM 服务器,服务器通过读取用户数据库来验证用户身份,如果验证通过,登记用户 A 的 IP 地址、IM 客户端软件的版本号及使用的 TCP/UDP 端口号,然后返回用户 A 登录成功的标志,此时用户 A 在 IM 系统中的状态为在线(Online Presence)。

第二步,根据用户 A 存储在 IM 服务器上的好友列表(Buddy List),服务器将用户 A 在线的相关信息发送给也同时在线的 IM 好友的 PC 机,这些信息包括在线状态、IP 地址、IM 客户端使用的 TCP 端口(Port)号等,IM 好友的客户端收到此信息后将在予以提示。

第三步是 IM 服务器把用户 A 存储在服务器上的好友列表及 相关信息回送到他的客户端机,这些信息包括也在线状态、IP 地址、IM 客户端使用的 TCP 端口(Port)号等信息,用户 A 的 IM 客户端收到后将显示这些好友列表及其在线状态。

IM 通讯方式有哪些?

1、在线直接通讯

如果用户 A 想与他的在线好友用户 B 聊天,他将直接通过服务器发送过来的用户 B 的 IP 地址、TCP 端口号等信息,直接向用户 B 的 PC 机发出聊天信息,用户 B 的 IM 客户端软件收到后显示在屏幕上,然后用户 B 再直接回复到用户 A 的 PC 机,这样双方的即时文字消息就不再 IM 服务器中转,而是直接通过网络进行点对点 的通讯,即对等通讯方式(Peer To Peer)。

2、在线代理通讯

用户 A 与用户 B 的点对点通讯由于防火墙、网络速度等原因难以建立或者速度很慢,IM 服务器将会主动提供消息中转服务,即用户 A 和用户 B 的即时消息全部先发 送到 IM 服务器,再由服务器转发给对方。

3、离线代理通讯

用户 A 与用户 B 由于各种原因不能同时在线的时候,如此时 A 向 B 发送消息,IM 服务器可以主动寄存 A 用户的消息,到 B 用户下一次登陆的时候,自动将消息转发 给 B。

4、扩展方式通讯

用户 A 可以通过 IM 服务器将信息以扩展的方式传递给 B,如短信发送方式发送到 B 的手机,传真发送方式传递给 B 的电话机,以 email 的方式传递给 B 的电子邮箱等


用户头像

v16629866266

关注

专业开发软件APP 16629866266(同微信) 2021.01.08 加入

还未添加个人简介

评论

发布
暂无评论
IM即时通讯实现的原理