一个快速接入聊天的服务
最近在项目中有个推送和聊天的需求,并且需要在多个项目中使用。找到了网易云信的解决方案后,觉得自己也可以简单的实现一个。于是就开始动手了。
在网上找了很多提供接入聊天的应用。比如网易云信、极光推送。这些服务主要提供用户信息、好友关系之类的 api,还有维持长连接。
作为一个公用的服务,每个应用需要申请 appkey 和 appsecret。
写自己的聊天服务
###预期功能:
- 多应用接入
- 好友关系
- 长连接
- 一对一聊天
- 多对多聊天
- 断线重连
- 发送图片
- 发送文件
- 自定义消息格式
- 客服介入聊天
技术选型
选择开发语言:php or golang,golang 还在学习中,为了快速开发选择比较熟悉的 php,后期尝试用 golang 重构。
选择开发框架:api 部分的框架采用公司内部的框架,长连接部分比较了 workman 和 swoole,最终选择了 swoole。
前端框架:原生 js,没有使用框架。