使用swoole擴展php websocket示例
<?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)
{
//將下線消息發(fā)送給所有人
//$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));
相關(guān)文章
php數(shù)組轉(zhuǎn)換js數(shù)組操作及json_encode的用法詳解
php數(shù)組轉(zhuǎn)換js數(shù)組操作及json_encode的用法。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10ThinkPHP讓../Public在模板不解析(直接輸出)的方法
這篇文章主要介紹了ThinkPHP讓../Public在模板不解析,直接輸出的方法,涉及通過模板常量設(shè)置修改默認變量替換的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10初識通用數(shù)據(jù)庫操作類——前端easyui-datagrid,form(php)
這篇文章主要介紹了初識通用數(shù)據(jù)庫操作類——前端easyui-datagrid,form(php),實現(xiàn)代碼比較簡單,有需要的小伙伴歡迎來參考2015-07-07在Mac OS上搭建PHP的Yii框架及相關(guān)測試環(huán)境
這篇文章主要介紹了在Mac OS上搭建PHP的Yii框架及相關(guān)測試環(huán)境的方法,Mac自帶Apache與PHP等軟件,因而搭建開發(fā)環(huán)境時非常舒適,需要的朋友可以參考下2016-02-02ThinkPHP框架實現(xiàn)導(dǎo)出excel數(shù)據(jù)的方法示例【基于PHPExcel】
這篇文章主要介紹了ThinkPHP框架實現(xiàn)導(dǎo)出excel數(shù)據(jù)的方法,結(jié)合實例形式分析了thinkPHP添加org擴展基于PHPExcel進行Excel數(shù)據(jù)的導(dǎo)出操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-05-05