關於即時通訊的一點記錄

即時通訊實現方式:


第一類:基於應用層的協議或第三方庫

1.第三方:環信,融雲,推送等

2.應用層協議:

XMPP協議(推薦):

Smack(客戶端)+Openfire(服務端)(基於應用層的xmpp協議,其實XMPP 是一種很類似於http協議的一種數據傳輸協議,它的過程就如同“解包裝--〉包裝”的過程,用戶只需要明白它接收的類型,並理解它返回的類型,就可以很好的利用xmpp來進行數據通訊。)

MQTT協議:IBM開發的即時通訊協議。

SIP:基於SIP,增加了message和presence的擴展。

私有協議:ActivitySync


第二類:基於傳輸層的協議

3.Socket(推薦):基於 傳輸層的TCP/IP協議。三次握手建立連接,四次揮手斷開連接。可以自己實現

或者用第三方Socket組件,如Nio可以管理通訊過程中斷開、閒置、打開、創建等過程。工具:TCP/UDP Socket調試工具

4.Udp:帶ip和port的包直接發送到服務器,不安全,容易丟包


OSI七層:開放式系統互聯。 網絡互聯七層框架:應用層、表示層、會話層 、傳輸層、網絡層、數據鏈

路層、物理層。

常說的TCP/UDP協議屬於傳輸層,Http、xmpp等屬於應用層,後者依賴前者。

socket屬於網絡的哪個層?
傳輸層。應用層通過傳輸層進行數據通信時,TCP和UDP會遇到同時爲多個應用程序進程提供併發服務的

問題。多個TCP連接或多個應用程序進程可能需要通過同一個TCP協議端口傳輸數據。爲了區別不同的應

用程序進程和連接,許多計算機操作系統爲應用程序與TCP/IP協議交互提供了稱爲套接字(Socket)的接


SOCKET與TCP,UDP有什麼關係

SOCKET是Java實現數據通信的API。
這個詞語起源於BSD相關的UNIX,程序開發中用於process之間通信的API名稱。

TCP/UDP是OSI模型的第四層中定義的兩種通信方式。

也就是說,SOCKET是API,而TCP/UPD是通信協議,兩種根本不同的東西。

語言表達的例子:
用SOCKET實現TCP(或者UDP)通信。 (相反,TCP或者UDP通信也可以不使用SOCKET實現)

發佈了144 篇原創文章 · 獲贊 18 · 訪問量 74萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章