node.js - 使用nodejs将"Pushing"图像导入浏览器

标签 node.js websocket

我是nodejs的新手。这是我正在尝试做的事情。我正在开发一个项目,要求图像出现在数据库中后立即将其“推送”到浏览器的 DOM 中。

将其想象为 Pinterest,但是当新图像上传到 Pinterest 时,它会自动传送到浏览器,因此用户可以坐在那里观看屏幕上弹出的新图片。

我非常感谢任何初学者对挑战的指导。

最佳答案

这个问题有两个部分。首先是让所有服务器知道您有一个新镜像。第二个是将这些信息和图像提供给客户。

为了解决服务器之间的通信,我建议研究发布/订阅系统。 Redis can be used for this 。基本上,将新图像插入数据库的服务器将“发布”一条消息,然后将该消息广播到所有“订阅”该类型消息的服务器。您的消息可能包含您刚刚插入的记录的 ID。

完成后,我建议使用 Socket.IO在客户端和服务器之间维护持久的 Web 套接字或类似 Web 套接字的连接。您的服务器收到有新图像的消息,然后在需要时查询数据库以获取详细信息。一旦他们掌握了这些详细信息,他们就可以向客户端发送一条消息,其中包含可以访问图像的 URL。

关于node.js - 使用nodejs将"Pushing"图像导入浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14640069/

相关文章:

node.js - Nodejs : Mongoose find latest entry of the DB with filter

javascript - Node js + Sails js + websocket 应用程序每隔几个小时崩溃一次

Android Socket.io Websocket 传输不适用于 SSL

python - Tornado Websockets 在没有 ping 的情况下不会调用 on_message

javascript - 列出来自 Azure Blob 存储的 Blob 和 Node.js 中的 Readstream

javascript - 使用聚合 $lookup 和 $mergeObjects

c++ - nodejs 与运行 libevent 有何不同?

node.js - 使用 Node.js 函数从 Firebase 获取值键对

ssl - 初始握手后我可以安全地依赖 WebSocket 连接吗?

我可以使用单个 websocket 服务器同时打开 2 个端口吗