国产探花免费观看_亚洲丰满少妇自慰呻吟_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編程從入門到精通全套視頻教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉树县| 旬阳县| 临泽县| 襄汾县| 本溪| 石柱| 滦平县| 崇州市| 耿马| 曲麻莱县| 隆安县| 彝良县| 衡阳市| 商水县| 湛江市| 绿春县| 铜山县| 宁远县| 句容市| 秦安县| 灵石县| 柘城县| 宜宾县| 肇源县| 泰安市| 江门市| 正宁县| 宿迁市| 芒康县| 霍城县| 建阳市| 淄博市| 建昌县| 金秀| 嘉禾县| 阜宁县| 郓城县| 丽江市| 江川县| 林西县| 连平县|