文章来自: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自学中心交流②群
文章评论