【问题标题】:Pubnub does not show the output through subscribe written in phpPubnub不通过用php编写的订阅显示输出
【发布时间】:2016-06-01 08:17:17
【问题描述】:

我尝试从不同的浏览器执行 PubNub 发布/订阅代码。首先我执行了 pubnub_subscribe.php 文件,然后是 pubnub_publish.php。 pubnub_publish.php 代码显示以下输出。我已经在 PubNub 注册了。我在发布和订阅中看不到消息。 谁能指导我如何找出答案。将不胜感激。

输出(在 pubnub_publish.php 中)

Array ( [0] => 1 [1] => Sent [2] => 14647684832679527 )

pubnub_publish.php

<?php
require_once('Pubnub/lib/autoloader.php');
use Pubnub\Pubnub;
$publish_key = "pub-c-34b22d9f...";
$subscribe_key = "sub-c-54cb22de...";
$pubnub = new Pubnub(array("publish_key" =>$publish_key, 
                    "subscribe_key" =>$subscribe_key,
                    "ssl" => true,
                    "uuid" =>"user1",
                    'verify_peer' => true)
                    );
$publish_result = $pubnub->publish('Channel-m2cerlovh','Hello PubNub!');
print_r($publish_result);
?>

pubnub_subscribe.php

<?php
require_once('Pubnub/lib/autoloader.php');
use Pubnub\Pubnub;

$publish_key = "pub-c-34b22d9f...";
$subscribe_key = "sub-c-54cb22de...";
$pubnub = new Pubnub(array("publish_key" =>$publish_key, 
                    "subscribe_key" =>$subscribe_key,
                    "ssl" => true,
                    "uuid" =>"user1",
                    'verify_peer' => true)
                    );

$pubnub->setSubscribeTimeout(10); 

$pubnub->subscribe('Channel-n9zu05kxi', function ($envelope) {
       print_r($envelope['message']);
});
?>

【问题讨论】:

    标签: php pubnub


    【解决方案1】:

    PubNub 发布/订阅

    您将发布到Channel-m2cerlovh 并订阅Channel-n9zu05kxi。只有Channel-m2cerlovh 的订阅者才能收到发布到该频道的消息。

    另外,无需将 subscribeTimeout 设置为 10 秒。那太低了。只需删除该行代码并使用默认值(除非您有一些奇怪的边缘情况来证明此设置的合理性——那么我很想知道为什么)。

    在这个公共论坛中包含您的 pub 和 sub 密钥并不是一个好主意。我会禁用该键集并使用新集(我在您的问题中截断了它们)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多