node.js搭建基礎(chǔ)聊天室part4

第四部分,用戶下線以及關(guān)閉服務(wù)器提醒

下線提醒功能:
1.服務(wù)端接受到'disconnect'事件,然后查找users對(duì)象里面是否還有下線用戶名,有就刪除,同時(shí)向其他連接的客戶端廣播下線消息
2.其他客戶端觸發(fā)"offline"事件,刷新用戶列表

代碼如下:

//服務(wù)端
//服務(wù)端接收到有用戶下線
    socket.on('disconnect',function () {
        //如果users里有下線用戶名
        if (users[socket.name]) {
            delete users[socket.name];
            //向其他用戶廣播該用戶下線消息
            socket.broadcast.emit('offline',{users: users, user: socket.name});
        }
    })

//客戶端
////其他用戶下線
socket.on('offline', function (data) {
  //顯示系統(tǒng)消息
  var sys = '<div style="color:#f00">系統(tǒng)(' + now() + '):' + '用戶 ' + data.user + ' 下線了!</div>';
  $("#contents").append(sys + "<br/>");
  //刷新用戶在線列表
  flushUsers(data.users);
 //如果正對(duì)某人聊天,該人卻下線了
  if (data.user == to) {
      to = "all";
  }
  //顯示正在對(duì)誰說話
   showSayTo();
});

關(guān)閉服務(wù)器提醒就比較簡(jiǎn)單了,只需要在客戶端的disconnect和reconnect事件添加相應(yīng)的邏輯渲染dom即可
代碼如下:

//服務(wù)器關(guān)閉
socket.on('disconnect', function() {
    var sys = '<div style="color:#f00">系統(tǒng):連接服務(wù)器失??!</div>';
    $("#contents").append(sys + "<br/>");
    $("#list").empty();
});

//重新啟動(dòng)服務(wù)器
socket.on('reconnect', function() {
    var sys = '<div style="color:#f00">系統(tǒng):重新連接服務(wù)器!</div>';
    $("#contents").append(sys + "<br/>");
    socket.emit('online', {user: from});
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 14,284評(píng)論 0 15
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評(píng)論 25 709
  • “不要絕望也不要驕傲,一心投身眼前的現(xiàn)實(shí)?!?/div>
    Grace楊閱讀 235評(píng)論 0 0
  • 一、 普遍尋找法 這種方法也稱逐戶尋找法或者地毯式尋找法。其方法的要點(diǎn)是,在業(yè)務(wù)員特定的市場(chǎng)區(qū)域范圍內(nèi),針對(duì)特...
    Msf閱讀 5,573評(píng)論 0 3

友情鏈接更多精彩內(nèi)容