基于 mqtt 的在线聊天系统
编辑于 2022-05-11 13:14:00 阅读 4164
一直以来都想给文章加个评论功能,这几天下定决心做这个事。
传统的评论功能也就那样,这次我想以聊天室的形式做,每篇文章都是一个聊天室,article_id
即room_id
,一个room_id
就是一个topic
,用户订阅这个topic
,就可以实时收到信息,当然,用户也可以向这个topic
发布信息
页面右下角有一个按钮,点击后可以看到历史消息和新消息(如果有的话),如果想发言,填写手机号,验证码登陆即可(登陆,注册合二为一)
前端
UI
组件
需要找一个好看的UI
组件,最好是Vue
的,因为React
不熟悉😂
经过一番查找,发现 vue-beautiful-chat 不错,就用它了
经过使用发现,他的消息格式和当前用户的逻辑不太符合预期,就改了一下,现在已发布到NPM,方便下载 @chudaozhe/vue-beautiful-chat
A library for the MQTT protocol
yarn add mqtt
后端
mqtt broker选择
mqtt是一种消息协议,要使用得选一个实现了这个协议的broker
- RabbitMQ + MQTT插件
- Mosquitto
详见:mqtt 轻量级 broker —— mosquitto
本次选择了:RabbitMQ + MQTT插件
A library for the MQTT protocol
composer require php-mqtt/client