用Swoole如何搭建一个IM即时通讯(仿微信)

2020年5月14日 304点热度 0人点赞 0条评论

图片

文章来自:https://blog.csdn.net/qq_18353611/article/details/88995720

作者:phper

点击加入:PHP自学中心技术交流微信群


商务合作: 请加微信(QQ):2230304070








技术交流微信群

我们在学习中单枪匹马,还不如一次短短的交流,你可以在别人吸取各种学
习经验,学习方法以及学习技巧,所以,学习与交流少不了一个圈子,提升
你的学习技能,请点击加技术群:PHP自学中心交流群     

记得备注你会的一种PHP框架

图片


视频教程分享

更多视频教程请查看码农网IT技术教程

1 2020版-Swoole从入门到精通全套高级实战

链接:http://www.mano100.cn/thread-1640-1-1.html

2 2020版Node.JS入门到大神

链接:http://www.mano100.cn/thread-1641-1-1.html

3 TypeScript系统入门到项目实战

链接:http://www.mano100.cn/thread-1642-1-1.html

4 Node.js仿知乎服务端-深入理解RESTful API

链接:http://www.mano100.cn/thread-1644-1-1.html

5 Swoole实现IM即时通讯(QQ、微信通信)

链接:http://www.mano100.cn/thread-1643-1-1.html

图片


精选文章正文

一、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,但是实际情况下,用户并不是一直都在链接(是允许用户下线的),所以当链接断开后再次产生链接就需要检测未读消息,并且发送给自己

图片

四、相关视频教程

给大家分享几节【PHP+Swoole实现IM即时通讯(QQ、微信通信)】的课程,做做笔记,学习一下!


目录如下:

1课程知识介绍及设计思路01
2http、Websocket等协议02
3客户端与服务端03
4客户端消息发送04
5服务端的实现05
6配置服务器信息06
7客户端服务端的握手07
8长连接08
9实现IM即时通讯聊天09

详情可查看

链接:http://www.mano100.cn/thread-1643-1-1.html


获取教程

本公众号里回复:726318


以上是本文的全部内容,希望对大家的学习有帮助,也希望大家多多支持 php自学中心 ,学习与交流少不了一个圈子,点击加技术群:PHP自学中心交流②群

图片

33970用Swoole如何搭建一个IM即时通讯(仿微信)

这个人很懒,什么都没留下

文章评论