Changed the client to join the session after creating it.
This commit is contained in:
parent
848154eb33
commit
c1c5faaa03
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
function(response) {
|
||||
var newSessionId = response.id;
|
||||
self.location = '#/session/' + newSessionId;
|
||||
context.JK.joinMusicSession(newSessionId);
|
||||
}
|
||||
);
|
||||
evt.preventDefault();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue