【问题标题】:How to receive Message using openfire server?如何使用 openfire 服务器接收消息?
【发布时间】:2015-06-08 10:43:48
【问题描述】:

我正在使用 Openfire(V 3.9.1) 服务器将通知从 PHP 发送到 Android。 我在 Android 中正确接收消息。但是我无法接收并显示回复给 PHP 的消息。

  • 我正在使用 XMPPHP 库将通知消息从 PHP 发送到 openfire 服务器。
  • 我正在使用 smack 库。 Android 到 android 运行良好。

如何在浏览器上接收/显示消息。我应该使用不同的库吗?

【问题讨论】:

  • 您需要提供更多信息。你能连接到服务器吗?究竟是什么不工作?
  • 你能分享你用来从php发送消息到openfire的代码吗???

标签: php openfire xmpphp


【解决方案1】:

您可以配置 openfire 将消息保存到 mysql 数据库。然后,您可以使用“ajax long polling”方法或 websockets 从数据库中获取新记录并在浏览器上显示它们。有关详细信息,请参阅以下链接。

网络套接字:http://www.html5rocks.com/en/tutorials/websockets/basics/

Ajax 长轮询 PHP : How do I implement basic "Long Polling"?

【讨论】:

  • 您为什么要这样做而不是简单地使用 XMPP 本身?
  • 您能否解释一下如何在不发送 PHP 请求的情况下从 XMPP 获取新消息。
  • 如果我想使用这些技术,那么就不需要 XMPP。
【解决方案2】:

我已经编写了向 openfire 发送消息的代码,但我不知道如何检索消息。

我觉得这可以帮助你。

include './XMPPHP/XMPP_Old.php';
    $host = 'XXX.XXX.XXX.XXX'; // ex.192.168.2.1  
    $port = '5222'; // its defauls xmpp port 
    $username = 'prashant76@mypc'; // ex vivek@host 
    $pass = '########';
    $conn = new XMPPHP_XMPP($host , $port, $username, $pass, 'localhost','localhost', $printlog=false, 

$loglevel=XMPPHP_Log::LEVEL_INFO);  
    try {
       $conn->useEncryption(FALSE);
        //$conn->useSSL(FALSE);
        $str='hello this is messge form php';
        $conn->connect();
        $conn->processUntil('session_start');
        $conn->presence();
        $str= $conn->message('XXXX@XXXXXXXXX', $str); // for sending the message.
        $conn->disconnect(); 
    } catch(XMPPHP_Exception $e) {
             die($e->getMessage()); 
    } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2013-09-24
    • 2017-01-17
    • 1970-01-01
    相关资源
    最近更新 更多