流水不争先,争的是滔滔不绝

IM即时通讯实现原理

IM安全 macgrady 42℃




即时通讯简称IM(Instant Messenger),是指能够即时发送和接收网络消息的功能。即时通讯的应用从简单消息传递,聊天对话到后来逐渐集成了视频、直播、会议、游戏和搜索等多种功能。IM不在是以一个单纯的聊天工具,它也被广泛应用在资讯、娱乐、电子商务、教育、医疗等各个方面。是一种通过建立连接IM服务器以期达到双向数据交换的目的。大部分的即时通讯服务提供了状态信息。创建联系人名单,联系人在线状态和是否与联系人建立链接等等,IM完全基于网络协议实现,功能也从文字、图片,到语音、视频、文件共享、位置共享等各种信息都得以交互,IM的时效性,安全性,稳定性,及可扩展性都成为其最为关键的几个因素。

IM工作方式:A登陆IM通讯服务器,获取一个自建立的好友列表,然后自身标志为在线状态,当好友列表中的用户登录上线并试图通过你的客户端联系你时,IM系统会发一个消息提醒你,然后建立一个会话窗口进行文字、语音、图片、视频、文件等各方式的交流.

第一步,用户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客户端收到后将显示这些好友列表及其在线状态。

  • 源码全部开放,可支持修改和2次开发。
  • 服务器运行环境:Linux Centos7以上,可按需求作集群设计。
  • 支持Android,Ios,Pc端登录,免费搭建服务器及UI界面调整。
  • 会话聊天:文字,语音,视频,照片,表情,文件,名片等多种收发方式。
  • 群功能:设置群二维码,群公告,昵称,头像,消息免打扰,屏蔽群信息,单独禁言,全体禁言,群管理,消息撤回,@特殊提醒,清空聊天记录等等功能。
  • APP为纯原生开发,版本多次升级优化,功能完善,通讯流畅,界面美观,操作简洁,非h5,wap网页封装产品可比。
  • 详情咨询:QQ:340554038   VX:yunliaoim  DEMO免费体验,无限畅聊。

IM通讯方式

1.在线直接通讯
如果用户A想与在线好友用户B聊天,他将通过服务器发送返回用户B的IP地址、TCP端口号等信息,直接向用户B的客户端发出聊天信息,用户B 的IM客户端软件收到后直接显示,然后用户B再直接回复到用户A的客户端,这样双方的即时文字消息将不再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的手机,以email的方式传递给B的电子邮箱等。

原文链接:http://www.apkbus.com/blog-531823-78274.html

版权声明:部分文章、图片等内容为用户发布或互联网整理而来,仅供学习参考。如有侵犯您的版权,请联系我们,将立刻删除。
点击这里给我发消息