用swoole写的php+js的websocket聊天室, 有关JS部分的参考代码

字号+ 编辑: 国内TP粉 修订: 呆头鹅甲 来源: 原创 2018-04-14 22:44 我要说两句(0)

function link () {
    ws = new WebSocket("ws://192.168.0.1:8765/?u=<?php /* 用户ID */ ?>&a=<?php /*权限ID*/ ?>"); // 连接服务器
    ws.onopen = function(event){};
    ws.onmessage = function (event) {
      var data = JSON.parse(event.data);
      switch(data.code) {
        case 2: // 被禁言
        layer.tips("当前禁言", $("#talk_content"), {
          tips: [1, "red"],
          time: 3000
        });
        return;
        break;
        case 91:
        case 92: // 管理员发送全体消息
        layer.msg(data.msg);
        return;
        break;
        case 81: // 被管理员撤回聊天信息
        $msgContent.find(".uframe-"+data.uf).fadeOut(600);
        setTimeout(function(){
          $msgContent.find(".uframe-"+data.uf).remove();
        }, 600);
        return;
        break;
        case 71: // 广播房间人数
        var $onlineNum = $("#online_number");
        $onlineNum.fadeOut(300);
        setTimeout(function(){
          $onlineNum.text(data.size+<?php /*房间号*/ ?>);
          $onlineNum.fadeIn(200);
        }, 300);
        return;
        break;
        case 72: // 有人离开房间, 更新人数
        var $onlineNum = $("#online_number");
        $onlineNum.fadeOut(300);
        setTimeout(function(){
          $onlineNum.text(parseInt($onlineNum.text())-1);
          $onlineNum.fadeIn(200);
        }, 300);
        return;
        break;
      }

      // 聊天记录窗口正文的生成
      var msg = '<li>'+data.c+
  '</li>';

        $msgContent.find("ul").append(msg);
        $msgContent.scrollTop($msgContent.find('ul').height() - $msgContent.height() + 20);
    }
    ws.onclose = function(event){console.log("聊天室断开连接\r\n当前连接状态:"+this.readyState);};
    ws.onerror = function(event){console.log("聊天室断线!");};
}


阅完此文,您的感想如何?
  • 鼓掌

    0

  • 鄙视

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 使用electron-forge和cnpm命令来写一个简单的electron桌面应用

  • UEditor百度编辑器中各种html标签被过滤掉的解决办法

  • ueditor在使用严格模式时报错Uncaught TypeError: 'caller', 'callee', and 'arguments'

  • JS的Timeout定时器怎么写成无限循环的?

我要说说
网上宾友点评
沙发已空
用swoole写的php+js的websocket聊天室, 有关JS部分的参考代码