一對一直播APP開發(fā),從兼容性和性能兩方面考慮通訊方式
實時通訊方式解決一對一直播APP開發(fā)的通訊需求有四種方式,分別是長短輪詢、長連接和websocket,前三種都是建立在HTTP基礎(chǔ)上實現(xiàn)的,不論是哪種方式或者有意無意的,它們四個把一對一直播APP開發(fā)的通訊方式劃分成了兼容性和性能提升兩大類。
?

一、兼容性上
從兼容性上考慮,使用優(yōu)先級是短輪詢、長輪詢、長連接、websocket。短輪詢的思路很簡單,每隔一段時間都像一對一直播APP開發(fā)的服務(wù)器發(fā)送一次請求,不論有無更新,都會返回這個請求,然后再次發(fā)送,這種方式實現(xiàn)簡單,沒有什么技術(shù)難點,但會非常浪費服務(wù)器的資源,幾乎服務(wù)器會一直處在一個被占用的狀態(tài)下,尤其是在高并發(fā)情況下,表現(xiàn)力并不好。
其次考慮的是長輪詢,簡單來說,長輪詢是一直與一對一直播APP開發(fā)的服務(wù)器保持一個連接,再有新的數(shù)據(jù)或者達(dá)到一定時間限制后才返回,以此減少了和服務(wù)器之間接觸的次數(shù),相比短輪詢,更加節(jié)省資源。
?

二、性能上
按照性能考慮,排列的優(yōu)先級是websocket、長連接、長輪詢、短輪詢。長連接的方式是建立在長短輪詢之上的,反應(yīng)速度更快,同時它不需要向服務(wù)器發(fā)起請求,可以直接在一對一直播APP開發(fā)服務(wù)器有新數(shù)據(jù)后,拉取數(shù)據(jù)并發(fā)送給用戶,這樣來看,節(jié)省了和服務(wù)器建立連接的時間,以及服務(wù)器需要保持連接的資源,提升了一對一直播平臺的性能,但面臨高并發(fā)時,太多的請求仍然會吃不消。
Websocket雖然很好用,但是基本用不到,它的缺點就是對服務(wù)器的邏輯要求非常高,并不是每個平臺都能支撐這么復(fù)雜邏輯的服務(wù)器應(yīng)用,尤其是一對一直播APP開發(fā)這種本身對服務(wù)器要求就不高的,原本就不會在服務(wù)器上投入太多,這下更會因為服務(wù)器要求而放棄這一點。
?

性能和兼容性之間的對比,更傾向于對性能的提升,一對一直播APP開發(fā)的性能高提升往往更加重要,由于平臺的特殊性,高并發(fā)的情況近乎沒有,所以可以忽略掉因為高并發(fā)帶來的局限性,把更多精力放到平臺能力的提升上。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任