微信小程序聊天系统搭建

来源:未知 浏览 128次 时间 2021-06-17 16:06

本文主要介绍基于公司的一个微信小程序项目socket聊天系统的搭建前后端代码服务器配置均由一个人完成SEO排名服务服务器配置均由一个人完成难度不大;本文目录:1、搭建HTTPS和wss环境;2、定义前后端通信json协议;3 ...

微信小程序聊天系统搭建

 

 

微信小程序聊天系统搭建

 

本文主要介绍基于公司的一个微信小程序项目socket聊天系统的搭建前后端代码服务器配置均由一个人完成难度不大;

本文目录:

1、搭建HTTPS和wss环境;

2、定义前后端通信json协议;

3、聊天系统搭建;

4、注意事项。

环境准备 一、搭建HTTPS和wss环境

具体搭建过程请查看我的另外一篇文章《微信小程序服务器环境搭建--suse版》由于wss域名不能带端口所以建议用Nginx进行代理转发。

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

其中token用来验证消息来源合法性seo优化知识所以建议用Nginx进行代理转发。

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

其中token用来验证消息来源合法性fd为当前socket连接资源IDfrom为对方socket连接资源IDcmd定义当前操作。

三、聊天系统搭建 1、服务端

采用TP5和swoole扩展新建一个socket模块专门处理socket目录结构如下

分为服务端server.php和客户端client.php服务端以cli形式运行具体代码请参考swoole源码包中的ssl样例;

运行命令如下(先切换到服务器程序代码的public目录 ):

php index.php socket/server/index

客户端其实是一个web端的websocket源码包中同样有提供样例。请自行查看此处不贴出源码。

2、小程序客户端

简单封装下微信提供的socket接口用于处理连接成功发送消息连接失败自动重连等公用操作目录结构如下

发送方法封装参考:

3、保证cli程序100%可用

编写shell脚本如下:

count=`ps -fe |grep "socket/server" | grep -v "grep" | grep "master" | wc -l`

echo $count

if [ $count -lt 1 ]; then

ps -eaf |grep "socket/server" | grep -v "grep"| awk '{print $2}'|xargs kill -9

sleep 2

ulimit -c unlimited

/opt/app/php/bin/php /opt/web/think/public/index.php socket/server/index

echo "restart";

echo $(date +%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的帮助函数model出现下面的错误是数据库连接过期导致把连接过期时间设置长点但是总有过期的时候所以建议改用mongodb

2、微信小程序真机环境不予许指定端口那上面的服务器配置就没有什么用解决办法是:停用Apache的ssl模块改用Nginx作为反向代理具体方法参考我之前写的文章。亲测可用

标签: 一个搭建socketgrep