Difference between revisions of "Livelets.as"

From Organic Design wiki
m
m
Line 10: Line 10:
 
function live() {
 
function live() {
  
// Dynamics (called each frame)
+
// Dynamics (called each frame)
onEnterFrame = function() {
+
onEnterFrame = function() {
// if (!this.connected && ++this.ctr%250 == 1) this.peerConnect('organicdesign.co.nz',1729);
+
// if (!this.connected && ++this.ctr%250 == 1) this.peerConnect('organicdesign.co.nz',1729);
};
+
};
  
// Connect to our host to establish stream
+
// Connect to our host to establish stream
socket.peerConnect = function(domain,port) {
+
socket.peerConnect = function(domain,port) {
if (socket.connect(domain,port))
+
if (socket.connect(domain,port))
log('Connecting to '+domain+':'+port);
+
log('Connecting to '+domain+':'+port);
else log('Could not initialise connection!');
+
else log('Could not initialise connection!');
};
+
};
  
// When connected, send login info
+
// When connected, send login info
socket.onConnect = function(success) {
+
socket.onConnect = function(success) {
if (this.connected = success) {
+
if (this.connected = success) {
log('Connected.');
+
log('Connected.');
// request a dedicated peerd child spawn to handle this stream
+
// request a dedicated peerd child spawn to handle this stream
this.request('/connect/peer/interface');
+
this.request('/connect/peer/interface');
}
+
}
else {
+
else {
log('Connection failed!');
+
log('Connection failed!');
log('Will retry soon...');
+
log('Will retry soon...');
}
+
}
};
+
};
  
// Decode incoming message
+
// Decode incoming message
socket.onData = function(data) {
+
socket.onData = function(data) {
log('Message received:');
+
log('Message received:');
log(data);
+
log(data);
};
+
};
  
socket.onClose = function() {
+
socket.onClose = function() {
this.connected = false;
+
this.connected = false;
log('Connection closed!');
+
log('Connection closed!');
this.ctr = 1;
+
this.ctr = 1;
log('Will retry soon...');
+
log('Will retry soon...');
};
+
};
  
// Send a message to the associated peer
+
// Send a message to the associated peer
socket.request = function(request) {
+
socket.request = function(request) {
log('Sending message: "'+request+'"');
+
log('Sending message: "'+request+'"');
this.send('GET '+request+' HTTP/1.1'+String.fromCharCode(13,10,13,10));
+
this.send('GET '+request+' HTTP/1.1'+String.fromCharCode(13,10,13,10));
};
+
};
  
// Create new socket
+
// Create new socket
this.socket = new XMLSocket();
+
this.socket = new XMLSocket();
socket.connected = false;
+
socket.connected = false;
  
}
+
}
  
// entry point
+
// entry point
static function main(mc) {
+
static function main(mc) {
app = new live();
+
app = new live();
 
}
 
}
  
 
}
 
}

Revision as of 05:09, 5 May 2007

// Extension:Livelets // - See http://www.mediawiki.org/wiki/Extension:Livelets for installation and usage details // - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)Template:As{{#security:*|dev}}{{#security:view|*}}

class live {

static var app : live; var socket  : XMLSocket;

function live() {

// Dynamics (called each frame) onEnterFrame = function() { // if (!this.connected && ++this.ctr%250 == 1) this.peerConnect('organicdesign.co.nz',1729); };

// Connect to our host to establish stream socket.peerConnect = function(domain,port) { if (socket.connect(domain,port)) log('Connecting to '+domain+':'+port); else log('Could not initialise connection!'); };

// When connected, send login info socket.onConnect = function(success) { if (this.connected = success) { log('Connected.'); // request a dedicated peerd child spawn to handle this stream this.request('/connect/peer/interface'); } else { log('Connection failed!'); log('Will retry soon...'); } };

// Decode incoming message socket.onData = function(data) { log('Message received:'); log(data); };

socket.onClose = function() { this.connected = false; log('Connection closed!'); this.ctr = 1; log('Will retry soon...'); };

// Send a message to the associated peer socket.request = function(request) { log('Sending message: "'+request+'"'); this.send('GET '+request+' HTTP/1.1'+String.fromCharCode(13,10,13,10)); };

// Create new socket this.socket = new XMLSocket(); socket.connected = false;

}

// entry point static function main(mc) { app = new live(); }

}