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

相關文章
相關標籤/搜索