在直播APP製作時如何設定直播軟體聊天發言部分可見的功能
在直播 APP製作時聊天功能是直播軟體中的重要功能,在開發中經常涉及根據使用者的不同分類對收發訊息進行不同的處理。 處理方式如下:
1. 在使用者進入房間連結 socket時,根據使用者的屬性進入特定房間
if(socket.usertype == 60){//新建當前房間的超管頻道和場控頻道,用於訊息傳送 socket.join(data.roomnum+'_60'); }else if(socket.usertype == 40){ socket.join(data.roomnum+'_40'); }
2. 在使用者發訊息時,判斷髮訊息使用者型別,並根據型別向 1個或多個特定分類房間內發訊息(切記不要傳送重複,儘量不要讓每個使用者進入多個特定房間)
clientRedis.hget( "super",socket.uid,function(error,res){ if(error) return; if(res != null){ var data_str2={ "msg":[ { "_method_":"SystemNot", "action":"1", "ct":''+dataObj['msg'][0]['ct'], "msgtype":"4" } ], "retcode":"000000", "retmsg":"OK" }; process_msg(io,socket.roomnum,JSON.stringify(data_str2)); console.log(1); }else{ clientRedis.hget("isspeak",socket.roomnum,function(error,res){ if(error) return; if(res == 1 || socket.usertype == 40 || socket.usertype == 50 ){ clientRedis.hget(socket.roomnum + "shutup",socket.uid,function(error,res){ if(error) return; if(res != null){ var time = Date.parse(new Date())/1000; if((time < parseInt(res))){ var newData = dataObj; newData['retcode'] = '409002'; socket.emit('broadcastingListen',[JSON.stringify(newData)]); }else{//解除禁言 clientRedis.hdel(socket.roomnum + "shutup",socket.uid); process_msg(io,socket.roomnum,data_str); console.log(2); //訊息記錄 //LV-2019-03-25 //clientRedis.h(socket.roomnum + "shutup",socket.uid); // if(socket.uid != socket.roomnum){ // var timea = Date.parse(new Date()); // console.log(msg); // clientRedis.hset('msglist_'+socket.stream,timea,JSON.stringify(msg)); // } } }else{ var timea = Date.parse(new Date()); process_msg(io,socket.roomnum,data_str); console.log(3); //訊息記錄 //LV-2019-03-25 // if(socket.uid != socket.roomnum){ // console.log(msg); // clientRedis.hset('msglist_'+socket.stream,timea,JSON.stringify(msg)); // }
3. 在改變使用者狀態時,需要讓使用者退出特定房間
//設定為管理員的加入管理員房間 反之踢出管理員房間 if(socket.usertype == 50 ){ if(msg.action ==1){ //設為管理 sockets[msg.touid].usertype = 40; sockets[msg.touid].join(socket.roomnum+"_40"); }else{ //取消管理 sockets[msg.touid].usertype = 30; var room = socket.roomnum+"_40"; sockets[msg.touid].leave(room); } process_msg(io,socket.roomnum,data_str); }
4. 在使用者退出房間時,要同時將使用者的特定房間屬性退出
socket.leave(socket.roomnum); socket.leave(socket.roomnum+"_40"); socket.leave(socket.roomnum+"_60");
以上就是在 直播 APP製作 時聊天功能得重要介紹,在開發中經常涉及根據使用者的不同分類對收發訊息進行不同的處理方式,小編針對此功能就介紹到這,後續還會有更多此類功能介紹,關注本博主,會持續為大家更新開發技巧。
宣告:本篇文章為小編原創文章,轉載請註明出處及作者。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917607/viewspace-2643307/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開發直播app 軟體時iOS端廣告功能設定APPiOS
- 直播平臺軟體開發,Android 計時器,定時功能Android
- 直播軟體開發,ScheduledExecutorService定時器的使用定時器
- MimoLive for Mac影片直播製作軟體Mac
- 直播軟體app開發,vue記住密碼功能APPVue密碼
- 短影片APP社交無加密直播定製功能需求APP加密
- 區塊鏈社交直播軟體開發app,IM聊天系統開發區塊鏈APP
- 直播軟體搭建,vue 複製剪下板功能Vue
- MimoLive for Mac視訊直播製作軟體Mac
- MimoLive for Mac(視訊直播製作軟體)Mac
- 直播類app開發解決方案、直播app功能有哪些?-北京銳智互動軟體開發APP
- 直播系統定製開發的步驟分享,如何進行直播系統定製開發
- 夢幻直播商城軟體原始碼帶貨,移動商城定製開發功能原始碼
- 商城APP直播帶貨系統定製需求功能支援多端開發APP
- 直播app製作時應該自建流媒體伺服器嗎?APP伺服器
- 短影片APP帶貨無加密直播定製功能需求APP加密
- 直播平臺軟體開發,Uniapp動態設定元件顏色APP元件
- 直播購物軟體開發系統原始碼現成模板開發快捷定製功能原始碼
- mimoLive直播製作軟體如何使用Apple TV捕獲iOS裝置螢幕?APPiOS
- app直播原始碼如何實現直播間紅包功能APP原始碼
- 線上教你開發直播軟體app時需要掌握的小知識APP
- 線上教育直播系統:原生開發一對一直播定製功能需求
- 直播平臺軟體開發,cocos lua --定時器的使用定時器
- 直播app原始碼,定時開關,實現計時器功能APP原始碼
- 短影片直播APP原生開發直播系統無加密搭建定製短影片APP加密
- 直播平臺軟體開發,判斷當前時間是否在規定時間內
- 直播app開發,使用者設定密碼時的後臺預設要求設定APP密碼
- 區塊鏈IM社交直播軟體開發,即時通訊聊天系統開發區塊鏈
- 區塊鏈社交直播軟體開發app,即時通訊系統開發區塊鏈APP
- 直播平臺軟體開發,uni-app實現選項卡功能APP
- app直播原始碼,軟體登入時的背景圖更改APP原始碼
- 直播教學系統原始碼搭建定製影片直播功能完善低延時負載強原始碼負載
- 直播軟體開發,通過js動態設定字型大小JS
- 直播app開發,在 Flutter 中使 Expanded 中的文字可滾動APPFlutter
- 短影片APP帶貨無加密一對多直播定製功能需求APP加密
- 一對一直播原始碼視訊聊天交友仿V聊富聊app定製開發!原始碼APP
- app直播原始碼,ButtonTextView的背景設定APP原始碼TextView
- 短影片直播軟體系統無加密私有化部署專業定製APP加密APP