最近涉及到一些即时通讯的知识,大概记录一下
通讯协议及方式
- TCP/IP (普遍采用该方式)
- UDP
- 如果是web通讯,那么包含以下方式:短轮询、Comet、Websocket、SSE。由于浏览器只是一个客户端,那么通讯是依赖于服务器的,这是跟移动应用或者桌面应用一个区别的地方。
通讯方式
- 对等通讯方式(Peer To Peer) ,不经过IM服务器
- 通过IM服务器中转(代理通讯)
- 离线通讯(离线消息,通过服务器缓存)
步骤:
- 登陆,Im服务器进行验证,更新登陆状态
- 读取IM服务器好友列表,获取Ip,端口等信息
- 直接根据好友信息进行对等通讯,或者通过服务器进行中转通讯