php怎么实现实时推送系统消息给客户端

这篇文章主要介绍“php怎么实现实时推送系统消息给客户端”,在日常操作中,相信很多人在php怎么实现实时推送系统消息给客户端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php怎么实现实时推送系统消息给客户端”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司是一家专注于成都网站设计、成都做网站、外贸网站建设与策划设计,桓仁网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:桓仁等地区。桓仁做网站价格咨询:18980820575

准备工作:

安装PHP-swoole拓展;

直接贴代码;

_serv = new swoole_websocket_server('0.0.0.0', 6552);
        $this->_serv->set(array(
            'worker_num'      => 2,
            'dispatch_mode'   => 3,
        'log_file' => 'swoole.log',
        ));
  //增加个监听端口
    $udpworker =  $this->_serv->listen("127.0.0.1", 6553, SWOOLE_SOCK_UDP);
    $udpworker->on('Packet', function ($serv, $data, $addr) {
            $data = json_decode($data, true);
            if(!empty($data)){
                //你的业务逻辑
            }
        });
        $this->_serv->on('open', array($this, 'onStart'));
        $this->_serv->on('message', array($this, 'onMessage'));
        $this->_serv->on('close', array($this, 'onClose'));
        $this->_serv->start();
    }
   
    public function onStart($serv, $request)
    {
        echo "server: connect success with fd {$request->fd}\n";
    }
    //format:'{"school_class_id":"1","school_id":"2"}'
    public function onMessage($serv, $frame)
    {
    /**start*你的业务逻辑***/
    }
    public function onClose($serv, $fd)
    {
        echo "client {$fd} closed\n";
    }
}
?>

原理:

首先创建websocket服务器对象,监听0.0.0.0:6552端口,然后在用服务对象去监听UDP 6553的端口。客户端消息发送到6553借口,然后在通过6552端口发送给用户。

到此,关于“php怎么实现实时推送系统消息给客户端”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站标题:php怎么实现实时推送系统消息给客户端
网址分享:http://pwwzsj.com/article/pjjeos.html