无名 发表于 2022-5-8 17:28:47

【TYJ】php+socket发多端实现实时消息同步思路

分割线
项目聊天系统有小程序端跟pc网页端,现要加个多端实时同步

登录:登录时写3个缓存,( key=userInfo,value=),(key=fd,value= userInfo ),(key=token,value=userInfo)

实现思路:A在手机端登录获取临时fd=1,A在pc端登录获取临时fd=2,(维护A拥有的fd关系)。
B登录获取临时fd=3,当B发送消息给fd=1时候,用fd=1找到A,根据A找到fd1,fd2,分别发送给他们。
B发消息时候,也需要返回给自己是否发送成功,同理,也需要维护fd关系,发送成功也需要分别发送给自己的所有fd。

用 $server ->isEstablished($fd)判断fd是否在线
再发送消息 $server ->push($fd,$data);
内容来源于网络
http://cdn.u1.huluxia.com/g4/M02/CB/A8/rBAAdl8a0cSAZoveAAKfoZu7BcU391.pnghttp://cdn.u1.huluxia.com/g4/M02/CB/A8/rBAAdl8a0cSAUKytAAFezyB9oVc125.jpghttp://cdn.u1.huluxia.com/g4/M02/CB/A8/rBAAdl8a0cWAFm0pAAEogRIhZU8801.jpg
页: [1]
查看完整版本: 【TYJ】php+socket发多端实现实时消息同步思路