WebSocket 和 Socket的區別與聯繫

首先,Socket 其實並非一個協議。它工做在 OSI 模型會話層(第5層),是爲了方便你們直接使用更底層協議(通常是 TCP 或 UDP )而存在的一個抽象層。Socket是對TCP/IP協議的封裝,Socket自己並非協議,而是一個調用接口(API)。網絡

1194012-d35653654be833ae.jpg

Socket一般也稱做」套接字」,用於描述IP地址和端口,是一個通訊鏈的句柄。網絡上的兩個程序經過一個雙向的通信鏈接實現數據的交換,這個雙向鏈路的一端稱爲一個Socket,一個Socket由一個IP地址和一個端口號惟一肯定。應用程序一般經過」套接字」向網絡發出請求或者應答網絡請求。app

Socket在通信過程當中,服務端監聽某個端口是否有鏈接請求,客戶端向服務端發送鏈接請求,服務端收到鏈接請求向客戶端發出接收消息,這樣一個鏈接就創建起來了。客戶端和服務端也均可以相互發送消息與對方進行通信,直到雙方鏈接斷開。blog

因此基於WebSocket和基於Socket均可以開發出IM社交聊天類的app接口

相關文章
相關標籤/搜索