PHP之swool搭建即时通讯聊天(仿PC微信)

一、swool应用场景

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

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

二、部署图

     PHP之swool搭建即时通讯聊天(仿PC微信)

三、程序流程

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

因为fd为动态的,是每次链接swool时生成的,发消息的时候需要用到,所以每次建立链接时需要跟业务ID进行绑定PHP之swool搭建即时通讯聊天(仿PC微信)

2、发送/接受消息

设A用户给B用户发消息,用B用户业务ID去数据库或者redis反查fd,并使用fd进行发送消息(我这里发送的是json,这样就可以发送文字、图片、文件多种类型),当swool监听发消息时间,则户主动推送给B用户,B用户获取到消息并解析信息类型

PHP之swool搭建即时通讯聊天(仿PC微信)
3、检测是否有未读消息

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

PHP之swool搭建即时通讯聊天(仿PC微信)

三、随便絮叨

 上图都为大体的流程图,在开发中还需要考虑消息存储时效、好友查询添加、列表等等功能就不一一细说了,因为之前对应聊天功能使用过workerman,但是swool是C开发的理论上效率会更高