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

1272881215 · 2017年03月04日 · 最后由 皇虫 回复于 2017年03月09日 · 650 次阅读

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

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

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

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

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

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

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

sub then pub

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册