本文将以搭建一个IM即时通讯为例分享swoole教程

一、swoole应用IM场景

1 与硬件设备连接通讯(定位设备)

2 IM系统(用于直播页面的聊天通讯)

什么是IM系统

即时通讯(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。实现方式有两种。第一种基于Server转发的,Client双方通信会经过Server转发来完成消息传递。例如QQ、微信。

二、部署图


三、程序流程

1、用户业务ID绑定swool动态fd

因为fd为动态的,是每次链接swool时生成的,发消息的时候需要用到,所以每次建立链接时需要跟业务ID进行绑定

2、发送/接受消息

设A用户给B用户发消息,用B用户业务ID去数据库或者redis反查fd,并使用fd进行发送消息(我这里发送的是json,这样就可以发送文字、图片、文件多种类型)。

当swool监听发消息时间,则户主动推送给B用户,B用户获取到消息并解析信息类型

3、检测是否有未读消息

当A向B发送消息,B可以收到消息的前提是B必须在链接这swool,但是实际情况下,用户并不是一直都在链接(是允许用户下线的),所以当链接断开后再次产生链接就需要检测未读消息,并且发送给自己

以上就是本次分享的所有内容,更多相关信息或者教程欢迎关注编程学习网