一對一直播交友原始碼實現即時通訊非常“有一套”

五花肉愛原始碼發表於2019-02-12

在這個物慾橫流的時代,心浮氣躁、急功近利更是成為社會的普遍共性。大多數人都承受著巨大的壓力,在這個時代小心翼翼的行走,而一對一直播交友原始碼的出現,帶領他們找到了壓力宣洩的出口,即陌生人與陌生人之間的社交。迴歸正題,在直播間裡我們通常都會看到網友們線上上互相交流和發禮物,在這裡,主要是用到了即時通訊技術。本文主要想給大家分享一下關於搭建即時通訊伺服器的相關內容。

1.  即時通訊是什麼 ?

即時通訊簡稱 IM,是一個終端服務,允許兩人或多人使用網路即時的傳遞文字訊息、檔案、語音與影片交流。

2.  即時通訊技術的原理( socket)是什麼?

Socket即用於描述IP地址和埠號,是一種網路的通訊機制。網路通訊底層都是透過socket建立連線的,因為它包含IP和埠,只要有這兩個就能準確找到一臺主機上的某個應用。

3.  IM通訊原理是什麼?

舉個簡單的例子,客戶端 A要想和客戶端B產生通訊,但是無法直接進行,這個時候就需要透過IM伺服器,從而使兩者之間產生通訊。客戶端A透過socket與IM伺服器產生連結,客戶端B也透過socket與IM伺服器產生連結,客戶端A把資訊傳送給IM應用伺服器並且指定傳送給客戶端B,伺服器根據客戶端A資訊中描述的接收者,將它轉發給B。客戶端B到客戶端A也是同樣的道理。(在這裡需要注意的是:伺服器是不可以主動連線客戶端的,只能客戶端主動連線伺服器)

4.  如何實現即時通訊技術?

實現即時通訊目前有四種方式:短輪詢、長輪詢、 SSE、websocket,接下來我們來按順序簡單瞭解一下。

(1) 短輪詢

即每隔一小段時間就傳送一個請求到伺服器,伺服器返回最新資料然後客戶端根據獲得的資料來更新介面,這樣就間接地實現了即時通訊。這一方式的優點是簡單,缺點是對伺服器的壓力較大,浪費頻寬的流量,但通常情況下資料都是沒有發生改變的。

(2) 長輪詢

即客戶端傳送一個請求到伺服器,然後伺服器檢視客戶端請求的資料(就是伺服器中的資料)是否發生變化,如果發生變化,就會立即響應返回,否則保持這個連結並定期檢查最新資料,直到發生了資料更新或者連線超時。因此,客戶端連線一旦斷開,就會再次發出請求,這樣一來,在相同的時間內大大減少了客戶端請求伺服器的次數。這一方式有一個弊端:伺服器長時間的連線會消耗資源,返回資料的順序無法保證,管理和維護困難。

(3) SSE

即伺服器推送事件,為了解決瀏覽器只能夠單向傳輸資料到服務端, HTML5提供了一種新的技術叫做伺服器推送事件SSE。SSE技術提供的是從伺服器單向推送資料給瀏覽器的功能,但是配合瀏覽器主動請求,實際上就是實現客戶端與伺服器之間的雙向通訊。

(4) Websocket

HTML5中,為了加強web的功能,提供了websocket技術,它不僅是一種web通訊方式,也是一種應用層協議。它提供了瀏覽器和伺服器之間原生的全雙工跨域通訊。透過瀏覽器和伺服器之間所建立的websocket連線,在同一時刻能夠實現客戶端到伺服器和伺服器到客戶端的資料傳送。

由此可見,在搭建一對一的直播平臺過程中,一對一直播交友原始碼 “肩負重任”,在實現即時通訊技術上做出了一定的“貢獻”。所以,原始碼才是軟體開發整個流程中最為重要的組成部分。

本文宣告原創,轉載請註明出處。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69907981/viewspace-2624894/,如需轉載,請註明出處,否則將追究法律責任。

相關文章