2013-04-18 128 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

回答

相关问题