使用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 相关文章推荐
mysql建立外键
Nov 25 PHP
常用的php ADODB使用方法集锦
Mar 25 PHP
PHP 程序员的调试技术小结
Nov 15 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
php 归并排序 数组交集
May 10 PHP
php中创建和调用webservice接口示例
Jul 25 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
thinkphp循环结构用法实例
Nov 24 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
PHP调用接口API封装的例子
Oct 11 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 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短域名转换为实际域名函数
2011/01/17 PHP
php实现单链表的实例代码
2013/03/22 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
一篇不错的Python入门教程
2007/02/08 Python
Python命名空间详解
2014/08/18 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
python实现超市扫码仪计费
2018/05/30 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
总结python中pass的作用
2019/02/27 Python
Python中的Cookie模块如何使用
2020/06/04 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
Python如何读写CSV文件
2020/08/13 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
ktv收银员岗位职责
2013/12/16 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
行政副总岗位职责
2014/02/23 职场文书
企业年度评优方案
2014/06/02 职场文书
药剂专业求职信
2014/06/20 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
零基础学java之循环语句的使用
2022/04/10 Java/Android