您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman常用组件-channel分佈式通訊組件-channelClient-on
发布时间:2021-12-16 23:42:11编辑:雪饮阅读()
服務端啓動: 多個客戶端運行后如:
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
// 初始化一个Channel服务端
$channel_server = new Channel\Server('0.0.0.0', 2206);
// websocket服务端
$worker = new Worker('websocket://0.0.0.0:4236');
$worker->name = 'websocket';
$worker->count = 6;
// 每个worker进程启动时
$worker->onWorkerStart = function($worker)
{
// Channel客户端连接到Channel服务端
Channel\Client::connect('127.0.0.1', 2206);
// 订阅broadcast事件,并注册事件回调
Channel\Client::on('broadcast', function($event_data)use($worker){
// 向当前worker进程的所有客户端广播消息
foreach($worker->connections as $connection)
{
$connection->send($event_data);
}
});
};
$worker->onMessage = function(TcpConnection $connection, $data)
{
// 将客户端发来的数据当做事件数据
$event_data = $data;
// 向所有worker进程发布broadcast事件
\Channel\Client::publish('broadcast', $event_data);
};
Worker::runAll();
?>
<html>
<head>
<script>
ws = new WebSocket("ws://192.168.43.170:4236");
ws.onmessage = function(e) {
console.log("收到服务端的消息:" + e.data);
};
ws.onopen=function(){
//觸發下廣播
ws.send('hello world');
};
</script>
</head>
<body>
<div class="container">
<h1>恭喜, 站点创建成功!</h1>
<h3>这是默认index.html,本页面由系统自动生成</h3>
<ul>
<li>本页面在FTP根目录下的index.html</li>
<li>您可以修改、删除或覆盖本页面</li>
<li>FTP相关信息,请到“面板系统后台 > FTP” 查看</li>
</ul>
</div>
</body>
</html>
关键字词:workerman,channel,channelClient,on
上一篇:workerman常用组件-channel分佈式通訊組件-channelClient-connect
下一篇:workerman常用组件-channel分佈式通訊組件-channelClient-publish-實現7端通信
相关文章
- workerman常用组件-channel分佈式通訊組件-channelCli
- workerman常用组件-channel分佈式通訊組件-channelSer
- workerman常用组件-channel分佈式通訊組件
- workerman常用组件-GlobalData变量共享组件-GlobalDat
- workerman常用组件-GlobalData变量共享组件-GlobalDat
- workerman常用组件-GlobalData变量共享组件-GlobalDat
- workerman常用组件-GlobalData变量共享组件-GlobalDat
- workerman常用组件-GlobalData变量共享组件-GlobalDat
- workerman常用组件-GlobalData变量共享组件-GlobalDat
- workerman常用组件-GlobalData变量共享组件-GlobalDat