【问题标题】:How to close a pubnub connection?如何关闭 pubnub 连接?
【发布时间】:2014-09-12 10:30:24
【问题描述】:

我在 node.js 项目中使用 pubnub。我可以初始化 pubnub 并发布如下消息:

Node.js

var PUBNUB = require('pubnub');
var pubnub = PUBNUB.init({
  publish_key   : 'demo',
  subscribe_key : 'demo'
});

var CHANNEL = 'test1234';

pubnub.subscribe({
  channel: CHANNEL,
  message: function (message) {
    console.log('Received message:', message);

    // unsubscribe again
    pubnub.unsubscribe({channel: CHANNEL});

    // PROBLEM: The node.js process does not exit because pubnub is still 
    //          active. How to close the pubnub connection so it's completely 
    //          gone from memory?
  },
  connect: function () {
    // send a test message
    pubnub.publish({channel: CHANNEL, message: 'hello world!'});
  }
});

但是我怎样才能关闭这个 pubnub 实例呢?这样它就从内存和事件循环中消失了,并且不会让 node.js 进程继续运行。

我在 API 文档中找不到任何内容,并尝试了 pubnub.close()pubnub.destroy()pubnub.disconnect(),但均未成功。

【问题讨论】:

  • Afaik 你的 sn-p 还没有建立连接,通常你会通过订阅一个频道来建立一个连接,然后通过再次取消订阅来关闭它。查看示例:github.com/pubnub/javascript/blob/master/examples/dev-console/…
  • 谢谢。我已经发布了一个完整的代码示例,可以更好地解释这个问题。关键是在 node.js 中,这个过程永远不会结束,因为 pubnub 在内存中仍然是活动的。
  • pubnub.unsubscribe() 应该删除订阅过程。您能否通过 support@pubnub.com 与我们联系,以便我们与您更紧密地合作解决方案(我们将在此处报告我们的发现。)
  • @Geremy 感谢您的回复。很高兴知道从所有频道退订时该过程应自动关闭。我已向 support@pubnub.com 发送有关此问题的消息
  • @JosdeJong 我遇到了同样的问题。您是否能够在 pubnub 支持的帮助下解决它?如果是这样,你做了什么?

标签: javascript node.js pubnub


【解决方案1】:

此问题已在较新版本的 pubnub(当前为 v3.7.8)中得到解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多