我正在开发一个聊天应用程序,其中 openfire 作为 xmpp 服务器,strophe.js 作为客户端库,并在 ubuntu 上使用 ruby on rails。
问题是 strophe.js 连接到 openfire 但给出 AUTHFAIL 状态并且不创建任何用户。它总是返回状态 4 (AUTHFAIL)。
openfire 运行在 >> localhost:9090
rails 应用程序运行在 >> localhost:3000
BOSH 服务运行在 >> localhost:7070/http-bind/
代码:-
<script>
var BOSH_SERVICE = 'http://localhost:7070/http-bind/';
var connection = null;
jQuery('#connect').click(function(){
connection = new Strophe.Connection(BOSH_SERVICE);
connection.connect($('#enter_id').get(0).value + "@localhost", null, onConnect);
});
function onConnect(status)
{
console.log("status is >> " + status);
if(status == 5){
console.log("inside if status is >> " + Strophe.Status.CONNECTED);
console.log("onConnect >> " + status);
connection.send($pres().tree());
connection.addHandler(notifyUser, null, 'message', "chat");
console.log("onConnect >> handler added");
}
}
function notifyUser(msg)
{
console.log("notifyUser >> " + msg);
// if (msg.getAttribute('from') == "testuser@127.0.0.1/pingstream") {
var elems = msg.getElementsByTagName('body');
var body = elems[0];
jQuery('#chat_msg').append(Strophe.getText(body));
// }
return true;
}
jQuery('#send_msg').click(function(){
var msg_to_send = $msg({
to: jQuery('#send_to').val() + "@localhost",
from: connection.jid,
type: "chat"
}).c("body").t("hi!");
connection.send(msg_to_send.tree());
});
</script>
请帮忙。