使用swoole扩展php websocket示例

2015-01-24信息快讯网

WebSocket规范的目标是在浏览器中实现和服务器端双向通信。双向通信可以拓展浏览器上的应用类型,如果你想要用PHP来写websocket应用,那swoole_framework一定是最好的选择,需要的朋友可以参考下

<?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));

ThinkPHP采用<volist>实现三级循环代码实例
PHP缓存机制Output Control详解
Thinkphp的volist标签嵌套循环使用教程
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
PHP类中的魔术方法(Magic Method)简明总结
PHP的魔术常量__METHOD__简介
php发送get、post请求的6种方法简明总结
php操作redis中的hash和zset类型数据的方法和代码例子
php socket客户端及服务器端应用实例
PHP+Memcache实现wordpress访问总数统计(非插件)
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
Zend Framework页面缓存实例
非常好用的Zend Framework分页类
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Yii Framework框架获取分类下面的所有子类方法
Thinkphp中的volist标签用法简介
Codeigniter中禁止A Database Error Occurred错误提示的方法
php定时计划任务与fsockopen持续进程实例
codeigniter教程之上传视频并使用ffmpeg转flv示例
php实现图片添加水印功能
php中的路径问题与set_include_path使用介绍
更改localhost为其他名字的方法
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
php fsockopen解决办法 php实现多线程
php递归函数中使用return的注意事项
那些年我们错过的魔术方法(Magic Methods)
ini_set的用法介绍
zend framework文件上传功能实例代码
wordpress自定义url参数实现路由功能的代码示例
php导出word格式数据的代码实例
php中autoload的用法总结
PHP中spl_autoload_register函数的用法总结
php cURL和Rolling cURL并发方式比较
使用PHP Socket写的POP3类
php另类上传图片的方法(PHP用Socket上传图片)
php中的boolean(布尔)类型详解
php中的PHP_EOL换行符详细解析
使用PHP导出Word文档的原理和实例
php与java通过socket通信的实现代码
将word转化为swf 如同百度文库般阅读实现思路及代码
©2014-2024 dbsqp.com