什麼時候採用socket通訊,什麼時候採用http通訊

等一輪明月發表於2020-10-10

什麼時候採用socket通訊,什麼時候採用http通訊。
問題1:什麼是socket通訊,什麼是http通訊。

  1. socket通訊是對TCP/IP協議的封裝(封裝了tcp/ip協議讓我們操作更加方便),http協議是應用層協議。

問題2:兩者的區別

  1. Http連線:http連線就是所謂的短連線,及客戶端向伺服器傳送一次請求,伺服器端相應後連線即會斷掉。
  2. socket連線:socket連線是長連線,理論上客戶端和服務端一旦建立連線,則不會主動斷掉;但是由於各種環境因素可能會是連線斷開,比如說:伺服器端或客戶端主機down了,網路故障,或者兩者之間長時間沒有資料傳輸,網路防火牆可能會斷開該連結已釋放網路資源。所以當一個socket連線中沒有資料的傳輸,那麼為了位置連續的連線需要傳送心跳訊息,具體心跳訊息格式是開發者自己定義的。

問題3:使用場景

  1. Http連線使用的是“請求一響應”的方式,當請求連線數少,或者一個請求一個響應這種場景可以考慮Http請求,比如web應用。
  2. socket連線是長連線,適合請求較多,或者伺服器端主動向客戶端推送資料這種場景,比如QQ等。

相關文章