Swoole实现Websocket推送

Swoole实现Websocket推送

因为网上没有很具体的相关文档,只能摸着石头过河,现功能已经大致实现在这里插入图片描述

<?php
$config = require('/config/swoole.php');
class Websocket {
    public $server;
    private $config;
    public function __construct($config) {
        $this->config = $config;
        $server = new Swoole\WebSocket\Server($this->config['web_host'],$this->config['web_port']);
        $this->server = $server; 
        $this->server->set([
            'worker_num'               => 8,
            'daemonize'                => 1,
            'backlog'                  => 128,
            'max_request'              => 10000,
            'heartbeat_check_interval' => 60,
            'task_worker_num'          => 24,
        ]);
        $process = new Swoole\Process(function($process) use ($server) {
            while (true) {
                $show_market_list = $this->getRealMarket();
                if ($show_market_list) {
                    foreach ($this->server->connections as $conn) {
                        $this->server->push($conn,json_encode(['type' => 'market','date' => $show_market_list]));
                    }
                }
                sleep(1);
            }
        });
        $newprocess = new Swoole\Process(function($process) use ($server){
            while (true) {
                $redis = $this->newRedis();
                $new_list = $redis->hGetALL('swoole_new_push');
                if ($new_list) {
                    //把消息推给所有用户
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值