2013-04-18 185 views
1

我正在嘗試學習XMPP協議以使Web應用程序可以使用它。因此,我安裝了名爲openfire的XMPP守護進程,我將其配置爲支持HTTP-Bind,我可以使用Pidgin和默認的XMPP協議連接到它。無法通過HTTP綁定連接到XMPP服務器(openfire)

問題是我無法使用HTTP綁定連接到它。在pidgin中,我有一些選項,當我連接到指定方法時,我想用來連接到服務器。如果我將它設置爲使用HTTP-Bind進行連接,則會失敗,並顯示以下消息:沒有給出會話標識。

在客戶端,我會使用Strophejs嘗試進行此連接,但它不起作用。我有這樣的事情:

var conn = new Strophe.Connection("http://chat.dev/http-bind"); 

哪裏http://chat.dev/http-bind是位置的XMPP守護進程。我已將這個位置轉發到Apache虛擬主機的正確端口上,因此http://chat.dev/http-bind將指向與http://127.0.0.1:7070相同的內容。

conn.connect("test5", "test5", some_callback); 

function some_callback(status) 
{ 
if (status == Strophe.Status.CONNECTING) { 
    console.log('Strophe is connecting.'); 
} else if (status == Strophe.Status.CONNFAIL) { 
    console.log('Strophe failed to connect.'); 
} else if (status == Strophe.Status.DISCONNECTING) { 
    console.log('Strophe is disconnecting.'); 
} else if (status == Strophe.Status.DISCONNECTED) { 
    console.log('Strophe is disconnected.'); 
} else if (status == Strophe.Status.CONNECTED) { 
    console.log('Strophe is connected.'); 
// connection.disconnect(); 
} 
} 

這將返回:「Strophe正在連接」。

呃,我不知道答案,我一直在讀一本關於XMPP和Strophe的書,但是這本書沒有涉及這方面,我發現的文檔也沒有幫助我。

謝謝。

+0

聽起來像OpenFire未正確配置爲使用BOSH和HTTP綁定。 –

+0

我如何檢查這是否屬實? –

+0

請告訴我們關於您的設置的更多信息。您的Openfire守護程序是否與您的Web服務器在相同的主機/ IP上運行?在哪個端口上配置Openfire以偵聽傳入的BOSH連接?你正在加載Strophe'flxhr'插件嗎?您是否可以通過指向「http://chat.dev:9090」在瀏覽器中加載Openfire管理界面? – JAAulde

回答

相關問題