IM(XMPP)介绍

1.socket

网络上两个程序经过一个双向的通讯链接实现数据的交换
客户端发送网络请求给服务器
服务器返回数据给客户端
两端链接都是socket   通讯管道
通讯以前要先创建链接,也就是通讯管道,经过socket创建链接


2.网络通讯要素
网络请求  经过socket链接
ip找到主机
端口号是找到应用程序(进程,服务器应用程序)
传输协议(tcp udp) 创建链接的就是tcp,
tcp :创建链接,三次握手,数据不受限制,保证可靠协议,安全送达,因此效率会低一点
udp:不创建链接,所以不可靠,数据限制64k

3.实现Socket服务端监听   CocoaAsyncSocket(oc)第三框架  是对C语言的封装

4.转发消息服务
多个客户端链接到服务器
当一个客户端发送消息给服务端,服务端转发给其余客户端,好比QQ聊天(根据端口号来区别发送给那个QQ号)
至关于一个群聊的雏形


5.长链接和短链接
客户端请求数据服务端   创建链接以后,没有用,链接断开  ,减小cpu资源,短链接(http就是短链接)
实时链接。即时通信,由于随时可能发送消息给好友,因此要保持长链接


6.socket层的协议
数据传输协议,约束

(1)http协议  
请求数据(请求头,    请求体)http传输请求格式
服务器解析数据(响应头,响应体)


(2)xmpp协议   即时通信协议  可扩展的
  xml格式的协议  C/S架构  (客户端与服务端)经过tcp/ip链接到服务器,经过socket 创建链接 ,传输xml数据流
  B/S (浏览器和服务器)


(3)自定义即时通信协议
   json格式协议


7.环信使用的就是xmpp协议
环信在xmpp基础上进行改造,功能更完善,更强大,进行的二次开发,不用本身再建立服务器




8.传输协议 (tcp,udp)和 数据传输协议(http,xmpp)区别

写一封信给好友
tcp、udp至关于快递方式
http、xmpp 至关于信内容的格式(中文、英文)




9.即时通信(IM)
若是本身写的xmpp。服务器大部分都是openfire(软件,下载以后,本身电脑就是一个服务器)
使用框架 xmppFramework ,本身把数据写出来,这个框架能够封装成xml格式

json

相关文章
相关标签/搜索