2015-04-03 3 views
2

Я использую сервер Openfire (V 3.9.1) для отправки уведомлений с PHP на Android. Я получаю сообщение на Android правильно. Но я не могу получить и отобразить ответное сообщение на PHP.Как получить сообщение с использованием сервера openfire?

  • Я использую библиотеку XMPPHP для отправки уведомлений с PHP на сервер openfire.
  • Я использую библиотеку smack. Android-to-android работает отлично.

Как получать/отображать сообщения в браузере. Должен ли я использовать другую библиотеку? enter image description here

+0

Вам нужно будет предоставить дополнительную информацию. Можете ли вы подключиться к серверу? Что именно не работает? – Robin

+0

можете ли вы использовать код, который вы используете для отправки сообщения с php на openfire ??? –

ответ

0

Вы можете настроить openfire для сохранения сообщений в базе данных mysql. Затем вы можете использовать метод ajax long polling или websockets для извлечения новых записей из базы данных и отображения их в браузере. Для получения более подробной информации см. Ссылки ниже.

WebSockets: http://www.html5rocks.com/en/tutorials/websockets/basics/

Ajax длинный опрос PHP: How do I implement basic "Long Polling"?

+0

Зачем вам это нужно, а не просто использовать XMPP? – Robin

+0

Не могли бы вы объяснить, как получать новые сообщения из XMPP без отправки запроса с PHP. – Syam

+0

Если бы я хотел использовать эти методы, то XMPP не нужен. – kammy

2

Я сделал код для отправки сообщения в Openfire, но я не знаю, как retrive сообщение.

Я чувствую, что это может помочь вам.

include './XMPPHP/XMPP_Old.php'; 
    $host = 'XXX.XXX.XXX.XXX'; // ex.192.168.2.1 
    $port = '5222'; // its defauls xmpp port 
    $username = '[email protected]'; // ex [email protected] 
    $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('[email protected]', $str); // for sending the message. 
     $conn->disconnect(); 
    } catch(XMPPHP_Exception $e) { 
      die($e->getMessage()); 
    }