1.Mysql 实现离线消息池。如果一个用户不在线,则其他用户发送给他的消息暂时存储在mysql。待该用户上线时,再从离线消息池取出发送。
2.Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过用户账号 = fd 存到redis中。
微信小程序:
websocket.php代码:
<?php
//创建WebSocket Server对象,监听0.0.0.0:9501端口
$ws = new Swoole\WebSocket\Server('0.0.0.0', 9501);
//连接Redis
$redis=new Redis();
$redis->connect('服务器地址',6379);
//连接MySQL
$con=mysqli_connect("服务器地址","数据库名称","数据库密码","数据表名称");
//监听WebSocket连接打开事件
$ws->on('Open', function ($ws, $request)