我正在使用 Openfire(V 3.9.1) 服务器将通知从 PHP 发送到 Android。我在 Android 中正确接收消息。但我无法接收并显示回复给 PHP 的消息。
- 我正在使用 XMPPHP 库将通知消息从 PHP 发送到 openfire 服务器。
- 我正在使用 smack 库。Android 到 android 运行良好。
如何在浏览器上接收/显示消息。我应该使用不同的库吗?
我已经编写了向 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());
}
您可以配置 openfire 将消息保存到 mysql 数据库。然后,您可以使用“ajax long polling”方法或 websockets 从数据库中获取新记录并在浏览器上显示它们。有关更多详细信息,请参阅以下链接。
网络套接字: http ://www.html5rocks.com/en/tutorials/websockets/basics/
Ajax 长轮询 PHP:如何实现基本的“长轮询”?