科技知識動態:實例詳解PHP實現簡單聊天室功能

導讀跟大家講解下有關實例詳解PHP實現簡單聊天室功能,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說實例詳解PHP實現簡單聊天室

跟大家講解下有關實例詳解PHP實現簡單聊天室功能,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說實例詳解PHP實現簡單聊天室功能,小編也收集到了有關實例詳解PHP實現簡單聊天室功能的相關資料,希望大家看到了會喜歡。

這篇文章結合實例主要介紹了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編程從入門到精通全套視頻教程

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!