swoole安装 以及简单的聊天功能
来源:互联网 发布:php接收安卓上传图片 编辑:程序博客网 时间:2024/05/22 02:21
这里主要运用swoole实现简单的聊天功能
首先我们安装swoole
目前
仅支持Linux,FreeBSD,MacOS,3类操作系统Linux内核版本2.3.32以上PHP5.3.10以上版本,包括PHP7gcc4.4以上版本或者clangcmake2.4+,编译为libswoole.so作为C/C++库时需要使用cmakeswoole仅支持PHP5.3.10或更高版本,建议使用PHP5.4+推荐使用centos Ubuntu12 Debian6 我用的是centos7.0 下面也是7.0的安装以及运用
下载地址 http://pecl.php.net/package/swoole
编译安装
cd swoole
phpize
./configure
make
sudo make install
配置php.ini
加入 extension=swoole.so
通过php -m或phpinfo()来查看是否成功加载了swoole;
安装完成后 参考这里代码实现许多功能
http://wiki.swoole.com/wiki/page/479.html
现在我给出的是一个能够简单聊天的功能代码
前台
Document
demo 1
<table> <tr> <td><input type="text" id="text"></td> </tr> <tr> <td><input type="button" value="点击" onclick="ab()"></td> </tr></table><div id="div" style="width:200px; height:200px;" }></div>
//引入一个jQuery文件
<script src="jquery-1.9.1.js"></script><script> var wsServer = 'ws://192.168.1.113:9502';//这里的IP应该更改 var websocket = new WebSocket(wsServer); websocket.onopen = function (evt) { console.log("Connected to WebSocket server."); }; websocket.onclose = function (evt) { console.log("Disconnected"); }; websocket.onmessage = function (evt) { $('#div').append(evt.data+"<br>"); // document.getElementById('div').style.background = evt.data; console.log('Retrieved data from server: ' + evt.data); }; websocket.onerror = function (evt, e) { console.log('Error occured: ' + evt.data); };function ab(){ var zhi=document.getElementById('text').value; websocket.send(zhi);}</script>
服务器代码
<?PHP//创建websocket服务器对象,监听0.0.0.0:9502端口$ws = new swoole_websocket_server("0.0.0.0", 9502);//监听WebSocket连接打开事件$ws->on('open', function ($ws, $request) { var_dump($request->fd, $request->get, $request->server); //获取所有连接人存为数组 $GLOBALS['fd'][] = $request->fd; //$ws->push($request->fd, "hello, welcome\n");});//监听WebSocket消息事件$ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n";//循环所有连接人发送内容 foreach($GLOBALS['fd'] as $key => $val){ $ws->push($val,$frame->data); } //$ws->push($frame->fd, "{$frame->data}");});//监听WebSocket连接关闭事件$ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n";});$ws->start();运行服务器文件在命令行中执行
php 文件名
运行后 浏览器打开前台文件
阅读全文
0 0
- swoole安装 以及简单的聊天功能
- swoole安装 以及简单的聊天功能
- swoole安装 以及简单的聊天功能
- swoole的安装以及问题解决
- Swoole的心跳功能
- swoole 安装和简单实用
- swoole的安装
- iOS微信QQ聊天界面的UI框架以及Socket简单实现群聊功能
- 用tcl实现的简单聊天功能
- 用UDP实现简单的聊天功能
- 通过WCF实现简单的聊天功能
- 利用NIO构造简单的聊天功能
- 实现简单的聊天功能部分Vue
- SpringBoot WebSocket 实现简单的聊天功能
- 简单的QQ临时在线聊天功能
- PHP+swoole实现简单多人在线聊天群发
- swoole入门教程05-Swoole的自定义协议功能的使用
- swoole入门教程02-Swoole的Task使用以及swoole_client
- Redis4.0源码解析--3种线性表
- 异常处理
- 不同浏览器中URL的编码方式
- HTML5 form input 文本框新加的类型
- DMA+ADC单通道转换、多通道转换
- swoole安装 以及简单的聊天功能
- hdu3555 Bomb
- [单页面]Django打造在线教育平台(六)--配置models
- 四、代理模式——设计模式学习笔记
- MySQL连接时出现问题的疑难解答
- CentOS6.5编译gcc6.1.0
- 证明题-算法概论8.3证明吝啬SAT问题
- 图片ajax无刷新上传与图片下载
- java基础