使用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-MySQL教程归纳总结
Jun 07 PHP
php小偷相关截取函数备忘
Nov 28 PHP
从php核心代码分析require和include的区别
Jan 02 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
Mar 07 PHP
php parse_str() 函数的定义和用法
May 23 PHP
PHP中include和require的区别实例分析
May 07 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 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设计模式中的工厂模式
2008/06/12 PHP
初识ThinkPHP控制器
2016/04/07 PHP
js中将字符串转换成json的三种方式
2011/01/12 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
python生成并处理uuid的实现方式
2020/03/03 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
Java的五个基础面试题
2016/02/26 面试题
计算机专业大学生的自我评价
2013/11/14 职场文书
室内设计专业学生的自我评价分享
2013/11/27 职场文书
自我鉴定怎么写
2014/01/12 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
行政申诉状范文
2015/05/20 职场文书
朋友聚会开场白
2015/06/01 职场文书
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers