使用swoole扩展php websocket示例


Posted in PHP onFebruary 13, 2014
<?php
define('DEBUG', 'on');
define("WEBPATH", str_replace("\\","/", __DIR__));
require __DIR__ . '/../libs/lib_config.php';
class WebSocket extends Swoole\Network\Protocol\WebSocket
{
    /**
     * 下线时,通知所有人
     */
    function onClose($serv, $client_id, $from_id)
    {
        //将下线消息发送给所有人
        //$this->log("onOffline: " . $client_id);
        //$this->broadcast($client_id, "onOffline: " . $client_id);
        parent::onClose($serv, $client_id, $from_id);
    }
    /**
     * 接收到消息时
     * @see WSProtocol::onMessage()
     */
    function onMessage($client_id, $ws)
    {
        $this->log("onMessage: ".$client_id.' = '.$ws['message']);
        $this->send($client_id, "Server: ".$ws['message']);
  //$this->broadcast($client_id, $ws['message']);
    }
    function broadcast($client_id, $msg)
    {
        foreach ($this->connections as $clid => $info)
        {
            if ($client_id != $clid)
            {
                $this->send($clid, $msg);
            }
        }
    }
}

$AppSvr = new WebSocket();
$AppSvr->loadSetting(__DIR__."/swoole.ini"); //加载配置文件
$AppSvr->setLogger(new \Swoole\Log\EchoLog(true)); //Logger
$server = new \Swoole\Network\Server('0.0.0.0', 9503);
$server->setProtocol($AppSvr);
//$server->daemonize(); //作为守护进程
$server->run(array('worker_num' =>4));
PHP 相关文章推荐
php中的常用魔术方法总结
Aug 02 PHP
preg_match_all使用心得分享
Jan 31 PHP
php+highchats生成动态统计图
May 21 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
php实现倒计时效果
Dec 19 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
Dec 09 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
设定php简写功能的方法
Nov 28 PHP
PHP中->和=>的意思
Mar 31 PHP
php实现图片添加水印功能
Feb 13 #PHP
php教程之phpize使用方法
Feb 12 #PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 #PHP
php-fpm配置详解
Feb 12 #PHP
PHP添加Xdebug扩展的方法
Feb 12 #PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 #PHP
php中的路径问题与set_include_path使用介绍
Feb 11 #PHP
You might like
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
Python编程之序列操作实例详解
2017/07/22 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
中学生操行评语大全
2014/04/24 职场文书
普通话宣传标语
2014/06/26 职场文书
联片教研活动总结
2014/07/01 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
银行转正自我鉴定
2014/09/29 职场文书
学校运动会广播稿
2014/10/11 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
ORACLE查看当前账号的相关信息
2021/06/18 Oracle