swoole 简单的聊天室
生活随笔
收集整理的這篇文章主要介紹了
swoole 简单的聊天室
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
php頁面
//監聽WebSocket連接打開事件<?php$ws = new swoole_websocket_server("0.0.0.0", 9503);$ws->on('open', function ($ws, $request) {// var_dump($request->fd, $request->get, $request->server);$ws->push($request->fd, '與服務器連接成功,我是用戶'.$request->fd);});//監聽WebSocket消息事件$ws->on('message', function ($ws, $frame) {$data=$frame->data;$data=json_decode($data,true);foreach($ws->connections as $fd) {if($fd!=$frame->fd) {$ws->push($fd, $data['data']);}}});//監聽WebSocket連接關閉事件$ws->on('close', function ($ws, $fd) {echo "client-{$fd} is closed\n";});$ws->start();
html 頁面
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>workerman-chat PHP聊天室 Websocket(HTLM5/Flash)+PHP多進程socket實時推送技術</title><script type="text/javascript" src="/js/jquery.min.js"></script><script type="text/javascript">// 連接服務端// 連接服務端var websocket;function connect() {var wsServer = 'ws://119.23.35.137:9503';websocket = new WebSocket(wsServer);websocket.onopen = function (evt) {console.log('連接成功');};websocket.onmessage = function (evt) {var input = document.getElementById("shoudao").value;console.log(evt);console.log('接受的消息: ' + evt.data);document.getElementById("shoudao").value=input+'\n'+evt.data;;};}// 提交對話function onSubmit() {var input = document.getElementById("textarea").value;var login_data = JSON.stringify({data:input})console.log("websocket握手成功,發送登錄數據:"+login_data);websocket.send(login_data);}</script> </head> <body "connect();"> <div class="container"><div class="row clearfix"><div class="col-md-1 column"></div><div class="col-md-6 column"><div class="thumbnail"><div class="caption" id="dialog"></div></div><form onsubmit="onSubmit(); return false;"><textarea class="textarea thumbnail" id="textarea" style="font-size:30px;width:300px;height:200px"></textarea><div class="say-btn"><input type="submit" class="btn btn-default" value="發表" /></div><textarea class="textarea thumbnail" id="shoudao" style="font-size:30px;width:300px;height:200px"></textarea></form></div></div> </div></body> </html>總結
以上是生活随笔為你收集整理的swoole 简单的聊天室的全部內容,希望文章能夠幫你解決所遇到的問題。