2015-04-03 32 views
2

我使用Openfire(V 3.9.1)服務器將通知從PHP發送到Android。 我在Android中正確接收消息。但我無法接收並顯示回覆消息給PHP。如何使用openfire服務器接收消息?

  • 我正在使用XMPPHP庫從PHP發送通知消息到openfire服務器。
  • 我正在使用smack庫。 Android到Android的工作完美。

如何在瀏覽器上接收/顯示消息。我應該使用不同的圖書館嗎? enter image description here

+0

您需要提供更多信息。你能連接到服務器嗎?什麼不工作? – Robin 2015-04-14 20:09:49

+0

你能分享你用來發送消息從PHP到openfire的代碼嗎? – 2016-02-16 12:07:12

回答

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 2015-04-14 20:08:40

+0

您能解釋一下如何從XMPP獲取新消息而不發送PHP請求。 – Syam 2015-04-15 13:50:39

+0

如果我想使用這些技術,那麼不需要XMPP。 – kammy 2015-04-16 06:39:13

2

我已經發送消息Openfire的代碼,但我不知道如何以檢索消息。

我覺得這可以幫助你。

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()); 
    } 
相關問題