Drchat 共分成2个部分,一部分是 Server 端,一部分是 Client 端,共同完成一个基于微信通信的聊天软件
Client 端采用 Framework7 做为界面,采用 Socket.io 做 Websocket,实现通信
Server 端采用 python-socketio 作为 Server,后台使用了 redis 支撑消息服务, 详细说明见 这里, 对于 python-socketio 参见 这里
这里有一下几点需要注意:
- 整个后台的 Redis 服务,由云端 redis 支撑,其余所有 redis 都与其同步
- socketio server 负责从 redis 读取消息并发送用户
- socketio server 同时包含了一个 REST API,用于用户登录,消息记录等
- socketio server 最终由 supervisor 负责启动和监管
本程序采用 Python3, 依赖于 requirements.txt, redis-server, supervisor
- 使用 virtualenv 配置 python 运行环境,并使用
pip install -r requirements.txt
安装相应包 - 安装 redis 和 supervisor
sudo apt-get install redis-server supervisor
- 将 resource 文件夹中的配置文件,根据服务类型,依次拷贝并作相应修改
- 开启 sockeio server, 在 virtualenv 模式下运行
python run.py
测试服务运行情况 - 重启计算机,看 supervisor 是否正确配置并运行