微信小程序聊天系统设置

2020-12-24
来源:

请参阅我的其他文章“ 微信小程序 PHP服务器配置(https + wss)-使用版本”,以了解具体的构建过程。由于wss域名不能携带端口,因此建议使用Nginx进行代理转发。

二、定义前端和后端通信json协议

令牌用于验证消息源的合法性,fd是当前套接字连接资源ID,from是对方套接字连接资源ID,cmd定义当前操作。

三、聊天系统构建1、服务器

使用TP5和swoole扩展,创建一个新的套接字模块来处理套接字,目录结构如下

服务器分为server server.php和client client.php两种,服务器以cli形式运行,具体代码请参见swoole源码包中的ssl示例;

正在运行的命令如下(首先切换到服务器程序代码的公共目录):

php index.php套接字/服务器/索引

客户端实际上是网络上的一个网络套接字。源代码包还提供了示例。请亲自检查,源代码未在此处发布。

2、小程序客户

微信在简单封装下提供的套接字接口用于处理常见的操作,例如成功连接,发送消息和自动重新连接失败。目录结构如下

发送方法包参考:

3、确保cli程序100%可用

如下编写shell脚本:

count =`ps -fe | grep“套接字/服务器” | grep -v“ grep” | grep“大师” | wc -l`

小程序开发聊天

echo $ count

如果[$ count -lt 1];然后

ps -eaf | grep“套接字/服务器” | grep -v“ grep” | awk'{print $ 2}'|| xargs kill -9

睡眠2

ulimit -c无限

/ opt / app / php / bin / php /opt/web/think/public/index.php套接字/服务器/索引

回显“重启”;

回显$(日期+%Y-%m-%d_%H:%M:%S)> /opt/script/log/restart.log

fi

启用crontab

crontab -e

添加一行:

* / 1 * * * * /opt/script/check_server.sh#每隔一分钟检查一次脚本

crontab -l

四、注释

1、如果使用TP5帮助功能模型时发生以下错误,则是由于数据库连接到期引起的。将连接到期时间设置为更长的时间,但是总会有一段时间到期,因此建议使用mongodb

2、微信小程序实际计算机环境不允许指定端口,因此上面的服务器配置没有用。解决方案是:禁用Apache的ssl模块,并使用Nginx作为反向代理。请参阅具体方法我之前写的文章。可以进行专业测试

3、如果您使用Nginx作为反向代理来遇到容易过期的会话,则有两种方法。一种是将代理超时时间设置为较长时间。另一种方法是在客户端进行心跳检测(即向服务器发送消息),这两种方法都会增加服务器的内存消耗,但是除了妥协之外,别无选择,建议使用后者。

分享