直播平台開發是如何實現訊息精準傳送的

2021-09-24 12:53:31 字數 1112 閱讀 8215

在直播平台開發中,收發彈幕訊息、贈送禮物、系統通知乃至踢人禁言等等功能都是通過socket實現的,為了減少訊息冗餘、防止網路阻塞,我們應當做到傳送訊息按照需求精確到個人、群組乃至全體,做法如下:

//傳送訊息到傳送者自己

socket.emit('message', "this is a test");

//傳送訊息給所有人(包括自己)

io.sockets.emit('message', "this is a test");

// 傳送訊息到除了自己以外的所有人

socket.broadcast.emit('message', "this is a test");

// 傳送訊息給某個房間(不包括房間內的自己)

socket.broadcast. to('game').emit('message', 'nice game');

//傳送訊息給某個房間(包括房間內的自己)

io.sockets. in('game').emit('message', 'cool game');

// 傳送訊息給某個人

io.sockets.socket(socketid).emit('message', 'for your eyes only');

我們可以把傳送方式寫乙個方法,如下:

function send_msg(io,roomnum,type,area,socket)else if(type == 1 & area == 0)else if(type == 0 & area == 1)else if(type == 1 & area == 1)else if(type == 0 & area == 2)else if(type >= 1 & area == 2)

} }

socket中的send函式可以傳送字串,但不能直接傳送結構體,因此在傳送端先把結構體轉成字串,然後用send傳送,在接收端recv字串,再轉換成原先的結構體,這個就是解決問題的主要思路。

直播平台開發中為了客戶端之間能夠互相通訊,實現私聊,我採用伺服器**的方式,因此使用者傳送的每條訊息中除了訊息主體外,還必須包含有傳送者、接收者id等資訊,如此採用結構體便是最佳的辦法了。

直播平台怎麼搭建直播特效,實現原理與難點是什麼

直播平台怎麼搭建直播特效,實現原理與難點是什麼 實現直播特效的流程如下 在完成影象的處理後,按照合適位元速率 格式進行編碼。最後,推流到 cdn。要實現美顏效果,不論是基於 webrtc 的移動端還是web端,都可以通過 gpuimage 來實現。如果是基於 webrtc 與 react nativ...

直播軟體開發層面如何優化直播平台體驗

直播軟體開發中影響直播平台體驗的三項指標 1.影響直播產品體驗的第乙個指標是延遲,即資料從資訊源傳送到目的地所需的時間。大部分使用者都屬於 視覺動物 重視第一印象,這也是為什麼大多數開發者在進行直播軟體開發時會格外注意了。由於 rtmp hls 是基於 tcp 之上的應用層協議,tcp 三次握手,四...

直播軟體開發底層搭建技術是如何實現的?

對於直播軟體開發的底層搭建技術,可能還有很多人不太了解。其實對於直播來講,底層的搭建也是至關重要的部分,就像我們現實生活中蓋樓一樣,要先打好地基才可以繼續搭建。接下來,我們將簡單歸納成幾個部分來簡單介紹一下。使用者鑑權系統 隨著國家對直播行業的監管加強,平台要為使用者提供乙個真實可靠的許可權控制機制...