什么是消息推送
通过服务器自动推送消息到客户端(浏览器,APP,微信)的应用技术。
为什么要使用消息推送技术
通常情况下都是用户发送请求浏览器显示用户需要的信息。推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。
实现思路
管理员发送消息到swoole服务。
Swoole服务接受到管理员发送的信息并且发送给其他的客户端
其他的客户端通过WebSocket监听Swoole服务发送过来的信息并且输出。
实现过程(CentOS环境)
1. 安装swoole扩展
pecl install swoole
2. 启动swoole服务器
在命令行中输入:
php ws_server.php
ws_server.php中的代码
on('open',function(swoole_websocket_server $server,$request){echo "server: handshake success with fd{$request->fd}\n";}); $server->on('message',function(swoole_websocket_server $server,$frame){echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";foreach($server->connections as $fd){$server->push($fd, $frame->data);}});$server->on('close',function($ser,$fd){echo "client {$fd} closed\n";});$server->start();
3. 管理员向swoole服务发送信息
3.1. 安装swoole客户端
composer require textalk/websocket
3.2. 管理员的代码
send("新的信息");
4. 客户端监听swoole服务的代码
来源地址:https://blog.csdn.net/hxbgzgs85/article/details/128992235