【问题标题】:How to listen client messages in server end (Node.js) using PubNub?如何使用 PubNub 在服务器端(Node.js)监听客户端消息?
【发布时间】:2020-01-24 13:01:17
【问题描述】:

如何使用 pubnub 从客户端接收消息到服务器。

我可以订阅频道并在服务器端(node.js)收听吗?

以下场景需要使用pubnub:-

=> 很多用户,即存款人和取款人希望通过网络套接字将他们的详细信息发送到“P2P”微服务。

=> 存款人和取款人在客户端,P2P 微服务是服务器端(内置在 node.js 中)。

=> 现在,有了 pubnub,我可以得到这个功能,例如:- 服务器能够将消息发布到通道,并且浏览器中的客户端能够通过 websocket 监听这些消息。

=> 但我需要相反的功能,即客户端在订阅频道后将在频道中发布消息,并且服务器(Node.js)必须能够收听该消息。

Server.js

                const publishConfig = {
                      channel: "pubnub_onboarding_channel",
                      message: { "sender": uuid, "content": "Hello From Node.js SDK" }
                }
                pubnub.addListener({
                    message: function (message) {
                        console.log(message);
                    },
                    presence: function (presenceEvent) {
                        console.log(presenceEvent);
                    }
                });                                         // What is this listener? is it supposed to listen the messages from client? no messages are received here 

                pubnub.subscribe({
                    channel: "pubnub_onboarding_channel",
                    withPresence: true,
                });                                                                   // This function is used for subscribing to channel

                pubnub.publish(publishConfig, function (status, response) {
                    console.log(status, response);
                });                                                                   // This is to again publish to client

【问题讨论】:

  • 无论客户端“类型”如何,您都可以订阅频道:服务器、移动设备、浏览器、IoT 板等。但是如果您要部署多个服务器实例,从服务器端订阅确实会遇到挑战.您必须遵循一些最佳实践,我建议您联系PubNub Support(包括此 SO 链接,以便我们可以在此处发回详细信息)以获得有关这些最佳实践的更多指导。但如果它是单节点服务器,它与标准客户端设备没有什么不同。

标签: javascript node.js express websocket pubnub


【解决方案1】:

是的,您当然可以从客户端“发布”并从服务器“订阅”要发布到的同一频道,以实现客户端到服务器的通信。

从您发布到频道的客户端 (JavaScript) 端 - https://www.pubnub.com/docs/web-javascript/api-reference-publish-and-subscribe#publish

从服务器 (Node.js) 端订阅相同的频道 - https://www.pubnub.com/docs/nodejs-javascript/api-reference-publish-and-subscribe#subscribe

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 2021-07-06
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多