【发布时间】:2018-08-02 05:54:42
【问题描述】:
我已经花了 3 天的时间阅读、观看有关 WebSockets、socket.io、node.js 等的教程。
基本上,我是一名 Laravel 开发人员,对所有其他组件只有一个基本概念。
遗憾的是,在这 3 天之后,我并没有记住实现此架构的所有逻辑步骤。我将尝试解释我的理解,请纠正我。
所以:
WebSockets - 是客户端和服务器之间的双向连续连接。它使用另一个端口,基本上它不是 HTTP/S 连接。
为了像我说的那样制作这种应用程序,我们需要多一台服务器,我知道为什么,但这是Node.js。在这个Node.js 服务器上,我们应该安装socket.io(服务器端包)和Redis。
然后,我们需要添加客户端socket.io(可能通过CDN)。
在Node.js 服务器上,我们正在创建一个server.js 文件,其中需要我们需要的所有模块,例如socket.io 和Redis。我们为特定的未使用端口(如 6001)打开一个连接。然后我们运行这个节点服务器。
在前端,我们subscribe-ing 到这个频道,并为服务器定义emitting 和listening 的方法。
示例:
User1 正在连接到特定路由。用户 2 也是如此。 User1 为 User2 键入一条消息,当按下 Submit 时,来自 User1 的消息被发送到 Node.js 服务器,它在 Redis 发送(是?如果是 - 为什么?),然后 Node.js 正在监听什么在这种情况下执行此操作,并将此消息发送给特定用户,或向除发布者之外的所有用户广播。
哦,这甚至很难解释,使用了太多的步骤和技术。 请有人纠正我的逻辑吗?我真的很想了解使用这些组件的所有过程和逻辑。或者请给我一些有用的文章和视频,可能我没看到。谢谢!
【问题讨论】:
-
稍微宽泛地猜一下你的问题...
标签: node.js laravel sockets redis socket.io