第一類:基於應用層的協議或第三方庫
2.應用層協議:
XMPP協議(推薦):
Smack(客戶端)+Openfire(服務端)(基於應用層的xmpp協議,其實XMPP 是一種很類似於http協議的一種數據傳輸協議,它的過程就如同“解包裝--〉包裝”的過程,用戶只需要明白它接收的類型,並理解它返回的類型,就可以很好的利用xmpp來進行數據通訊。)
MQTT協議:IBM開發的即時通訊協議。
SIP:基於SIP,增加了message和presence的擴展。
私有協議:ActivitySync
第二類:基於傳輸層的協議
或者用第三方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實現)