请教下,websocket能否实现点对点的消息推送以及如何实现?

假如有三个APP用户,分别是路人甲、乙、丙,都跟同一个websocket接口握手了,如何才能实现消息向指定的路人甲或者路人乙推送?

已邀请:

lwhile

赞同来自: 皇虫

map和channel配合使用能实现你要的功能.

liangdas

赞同来自:

用mqant框架试试,https://github.com/liangdas/mqant 虽然这是一个游戏框架,不过提供一个聊天的Demo可以实现多平台聊天,参考参考

qqqqq

赞同来自:

记录一下每个连接,发的时候找出来这个连接就好了 点击链接加入群【Go技术探讨】:https://jq.qq.com/?_wv=1027&k=45kvxI9

tupunco

赞同来自:

有个模式叫 订阅/发布 模式:

  1. 大概就是每个人连接上服务订阅一个通道
  2. 某人发消息 过程可以抽象成 给某[通道][发布]消息. 可以看看 MQTT 这个协议. 如果只是简单实现, 按 @qqqqq 同学的干法, 一个用户缓存到一个[用户, 连接]的 map 表.

pathbox - https://pathbox.github.io/

赞同来自:

sub then pub

皇虫 - PHP后端与web前端程序员

赞同来自:

谢谢大家的帮助。基本原理已经初步了解,接下来根据大家的建议深入去了解和学习。

要回复问题请先登录注册