国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

實例詳解PHP實現簡單聊天室功能

2020-03-22 19:00:19
字體:
來源:轉載
供稿:網友

這篇文章結合實例主要介紹了PHP實現簡單的聊天室功能,有一定的參考價值,感興趣的朋友可以參考一下,希望對你有所幫助!

前端部分:

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>聊天室</title></head><style>    #set_name{        margin: auto;        text-align: center;    }</style><body><h3 style="text-align: center">亮亮的聊天室</h3><div id="set_name">姓名:<input name="name" id="name"><input type="button" onclick="set_name();" value="進入群聊"></div><div id="chat" style="width: 600px; border: red 1px solid;margin: auto;display: none">    <div id="sayContent" style="height: 300px;border-bottom: silver 1px dashed;">    </div>    <div style="height: 75px;margin-top: 10px">        <textarea id="content" style="height: 50px;width: 480px;background-color: #00a0e9;float: left;"></textarea>        <button id="submit" style="float: right;height: 55px;width:50px;margin-right:45px;display: block;" onclick="send_msg();">發送</button>    </div></div><script>    var name = ws = '' ;    //執行websock    function chat() {        var wsserver = 'ws://47.94.11.195:443';        //調用WebSocket對象建立連接        //ws  wss: // ip:port(字符串)        ws = new WebSocket(wsserver);        //獲取聊天內容展示窗口        var sayContent = document.getElementById('sayContent');        //onopen監聽連接打開        ws.onopen = function (v) {            var user = new Object();            user.name = name;            user.type = 1;//對用戶設置姓名            var json = JSON.stringify(user);            ws.send(json);//發送數據        }        //onmessage監聽服務器數據推送        ws.onmessage = function (v) {            var html = sayContent.innerHTML;            sayContent.innerHTML = html + "<br>"+v.data;        }        //監聽連接關閉        ws.onclose = function (v) {            var html = sayContent.innerHTML;            sayContent.innerHTML = html + "<br>聊天室已關閉!";        }    }    //設置用戶名    function set_name() {        name = document.getElementById('name').value;        if(name == ''){            alert('請輸入用戶名!');            return false;        }        document.getElementById('set_name').style.display='none';        document.getElementById('chat').style.display='block';        chat();    }    function send_msg() {        var content = document.getElementById('content');        if(content.value == ''){            alert('請輸入聊天內容!');            return false;        }        var msg = new Object();        msg.content = content.value;        msg.type = 2;        var str = JSON.stringify(msg);        ws.send(str);    }</script></body></html>

后臺部分:

<?php$server = new swoole_websocket_server("0.0.0.0", 443);$server->users = [];$server->on('open', function (swoole_websocket_server $server, $request) {    $server->users[$request->fd]['id'] = $request->fd;});$server->on('message', function (swoole_websocket_server $server, $frame) {    $data = json_decode($frame->data,true);    if($data['type'] == 1){        $server->users[$frame->fd]['name']=$data['name'];        $server->push($frame->fd,'歡迎您('.$data['name'].')進入聊天室!');    }else{        foreach($server->users as $v){            $server->push($v['id'], $server->users[$frame->fd]['name'].'說:'.$data['content']);        }    }});$server->on('close', function ($ser, $fd) {    file_put_contents('qq.txt',$server->users[$frame->fd],FILE_APPEND);    unset($server->users[$frame->fd]);});$server->start();

更多相關教程請訪問 php編程從入門到精通全套視頻教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆林市| 环江| 弥勒县| 临沂市| 揭东县| 察雅县| 邢台县| 云和县| 永春县| 扬州市| 金寨县| 西贡区| 辽宁省| 安仁县| 北海市| 莱西市| 德清县| 陵川县| 同仁县| 牟定县| 陈巴尔虎旗| 吉安市| 峨山| 鸡西市| 湘潭市| 巴楚县| 阿合奇县| 宜春市| 南丰县| 五台县| 夏津县| 昌都县| 红原县| 万载县| 沈阳市| 修武县| 灵丘县| 武平县| 平和县| 肇源县| 彝良县|