Changed the client to join the session after creating it.

This commit is contained in:
tihot_jk 2012-10-16 01:44:33 -07:00
parent 848154eb33
commit c1c5faaa03
5 changed files with 48 additions and 19 deletions

View File

@ -10,7 +10,9 @@
var server = {};
server.socket = {};
server.singedIn = false;
server.signedIn = false;
server.clientID = "";
server.publicIP = "";
server.dispatchTable = {};
server.registerMessageCallback = function(messageType, callback) {
@ -63,7 +65,7 @@
if (callbacks !== undefined) {
var len = callbacks.length;
for(var i = 0; i < len; i++) {
callbacks[i](messageType, payload);
callbacks[i](message, payload);
}
}
else {
@ -115,9 +117,10 @@
context.JK.JamServer = server;
// Message callbacks
server.registerMessageCallback(context.JK.MessageType.LOGIN_ACK, function(type, payload) {
server.registerMessageCallback(context.JK.MessageType.LOGIN_ACK, function(header, payload) {
server.signedIn = true;
server.clientID = payload.client_id;
server.publicIP = payload.public_ip;
if (context.jamClient !== undefined)
{
@ -126,14 +129,14 @@
}
});
server.registerMessageCallback(context.JK.MessageType.PEER_MESSAGE, function(type, payload) {
server.registerMessageCallback(context.JK.MessageType.PEER_MESSAGE, function(header, payload) {
if (context.jamClient !== undefined)
{
context.jamClient.P2PMessageReceived(payload.sender_id, payload.message);
context.jamClient.P2PMessageReceived(header.from, payload.message);
}
});
server.registerMessageCallback(context.JK.MessageType.LOGIN_MUSIC_SESSION_ACK, function(type, payload) {
server.registerMessageCallback(context.JK.MessageType.LOGIN_MUSIC_SESSION_ACK, function(header, payload) {
if (context.jamClient !== undefined)
{
// TODO: modify the LOGIN_MUSIC_SESSION_ACK message to include session_id

View File

@ -18,6 +18,7 @@
function(response) {
var newSessionId = response.id;
self.location = '#/session/' + newSessionId;
context.JK.joinMusicSession(newSessionId);
}
);
evt.preventDefault();

View File

@ -0,0 +1,34 @@
(function(context,$) {
context.JK = context.JK || {};
context.JK.joinMusicSession = function(session_id) {
var logger = context.JK.logger;
var server = context.JK.JamServer;
var client = context.jamClient;
if (!server.signedIn)
{
logger.log("Can't join a session because the client is not connected.");
return;
}
logger.log("Joining session: " + session_id);
var data = { client_id: server.clientID, ip_address: server.publicIP };
var url = "/api/sessions/" + session_id + "/participants";
$.ajax({
type: "POST",
url: url,
data: data
}).done(
function(response) {
if (client !== undefined)
{
client.JoinSession({ sessionID: session_id });
}
}
);
};
})(window,jQuery);

View File

@ -22,8 +22,8 @@
var pingCount = 0;
var maxPings = 5;
function logMessage(messageType, payload) {
logger.debug(messageType + ": " + JSON.stringify(payload));
function logMessage(header, payload) {
logger.debug(header.type + ": " + JSON.stringify(payload));
}
function pingMyself() {
@ -38,8 +38,8 @@
}
}
function loggedIn(messageType, payload) {
logger.debug('Logged In handler: ' + messageType + ':' + JSON.stringify(payload));
function loggedIn(header, payload) {
logger.debug('Logged In handler: ' + header.type + ':' + JSON.stringify(payload));
myClientId = payload.client_id;
myPingTimer = context.setInterval(pingMyself, 1000);
}

View File

@ -455,15 +455,6 @@
messaging.register();
var jam_server = JK.JamServer;
if (jamClient !== undefined) {
jam_server.registerMessageCallback(JK.MessageType.LOGIN_ACK, function(type, payload) {
// This is just a test to kick off sending a few messages to self
// TODO: We need a session first to send p2p messages
//jamClient.JoinSession({ sessionID : 'just a test'});
});
}
jam_server.connect();
})
</script>