Up to now, I have been able to establish a connection to jabber with no qualms on the application I'm building. All of a sudden, I can't connect anymore and that problem has been persistent for over 24 hours now. I haven't changed any part of my code. When I checked the chrome error log for the hello script, I got the following error:
Failed to load resource scripts/signup.php
I'm not sure what that's supposed to mean since I don't even have a signup.php file in the scripts folder. This is the same scripts folder that contains the strophe and flxhr libraries. I do have a signup.php file in the server, but it is in no way connected to the hello.
js script. When I click on the error string, it leads me to a page which displays a warning saying the webpage has a redireict loop. I'm confused
Maybe I should include my version of the hello files. Maybe someone can run them in their machine and see if they have they same problem. Thanks
php
PHP Code:
<!DOCTYPE html>
<html>
<head>
<title>Hello - Chapter 3</title>
<script type = "text/javascript" src="http://code.jquery.com/jquery-latest.js"> </script>
<!--include JQM-->
<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0-rc.1/jquery.mobile-1.3.0-rc.1.min.css" />
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0-rc.1/jquery.mobile-1.3.0-rc.1.min.js"></script>
<!--include strophe and flxhr-->
<script src='scripts/strophe.js'></script>
<script src='scripts/flXHR.js'></script>
<link rel='stylesheet' href='hello.css'>
<script src='hello.js'></script>
</head>
<body>
<h1>Hello</h1>
<div id='log'>
</div>
<!-- login dialog -->
<div id='login_dialog' class=''>
<label>JID:</label><input type='text' id='jid' value = '[email protected]'>
<label>Password:</label><input type='password' id='password' value = 'my_password'>
<button>Submit</button>
</div>
</body>
</html>
js
PHP Code:
var Hello = {
connection: null,
start_time: null,
log: function (msg) {
$('#log').append("<p>" + msg + "</p>");
},
send_ping: function (to) {
var ping = $iq({
to: to,
type: "get",
id: "ping1"}).c("ping", {xmlns: "urn:xmpp:ping"});
Hello.log("Sending ping to " + to + ".");
Hello.start_time = (new Date()).getTime();
Hello.connection.send(ping);
},
handle_pong: function (iq) {
var elapsed = (new Date()).getTime() - Hello.start_time;
Hello.log("Received pong from server in " + elapsed + "ms.");
Hello.connection.disconnect();
return false;
}
};
$(document).ready(function () {
$('#login_dialog button').click(function(){
Hello.log("connecting...");
$(document).trigger('connect', {
jid: $('#jid').val(),
password: $('#password').val()
});
});
});
$(document).bind('connect', function (ev, data) {
var conn = new Strophe.Connection(
"http://bosh.metajack.im:5280/xmpp-httpbind");
conn.connect(data.jid, data.password, function (status) {
if (status === Strophe.Status.CONNECTED) {
$(document).trigger('connected');
} else if (status === Strophe.Status.DISCONNECTED) {
$(document).trigger('disconnected');
} else if (status === Strophe.Status.CONNECTING) {
Hello.log("Attempting Connection");
} else if (status === Strophe.Status.AUTHENTICATING) {
Hello.log("Connection has been established. Strophe is now attempting to authenticate and create a session");
} else if (status === Strophe.Status.CONNFAIL) {
Hello.log("Strophe encountered a problem trying to establish the connection");
} else if (status === Strophe.Status.AUTHFAIL) {
Hello.log("An error occured during the authentication process");
}
});
Hello.connection = conn;
});
$(document).bind('connected', function () {
// inform the user
Hello.log("Connection established.");
Hello.log("Full jid is: " + Hello.connection.jid + ".");
Hello.log("Domain is: " + Strophe.getDomainFromJid(Hello.connection.jid) + ".");
Hello.log("Resource is: " + Strophe.getResourceFromJid(Hello.connection.jid) + ".");
Hello.log("Bare jid is: " + Strophe.getBareJidFromJid(Hello.connection.jid) + ".");
Hello.connection.addHandler(Hello.handle_pong, null, "iq", null, "ping1");
var domain = Strophe.getDomainFromJid(Hello.connection.jid);
Hello.send_ping(domain);
});
$(document).bind('disconnected', function () {
Hello.log("Connection terminated.");
// remove dead connection object
Hello.connection = null;
});
css
PHP Code:
body {
font-family: Helvetica;
}
h1 {
text-align: center;
}
.hidden {
display: none;
}
#log {
width:350px;height:400px;color:red;border:1px solid black;
}