首页 > 解决方案 > 如何使用 PubNub 在服务器端(Node.js)监听客户端消息?

问题描述

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

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

需要在以下情况下使用 pubnub:-

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

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

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

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

服务器.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

标签: javascriptnode.jsexpresswebsocketpubnub

解决方案


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

从客户端 (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


推荐阅读