Difference between revisions of "Peer-socket.as"
m |
(Add periodic retry to socket.reduce()) |
||
| Line 2: | Line 2: | ||
// - Gir will spawn a dedicated peerd child in response to a valid connection request | // - Gir will spawn a dedicated peerd child in response to a valid connection request | ||
socket = new XMLSocket(); | socket = new XMLSocket(); | ||
| + | socket.connected = false; | ||
// Connect to our host to establish stream | // Connect to our host to establish stream | ||
| − | + | socket.connect = function( peer ) { | |
| − | else echo( 'Could not initialise connection!', 'ff0000' ); | + | var peer = peer.split(':'); |
| + | if ( peer.length == 1 ) peer.push(80); | ||
| + | if ( socket.connect( peer[0], peer[1] ) ) | ||
| + | echo( 'Connecting to '+peer[0]+':'+peer[1], 'ffffff' ); | ||
| + | else echo( 'Could not initialise connection!', 'ff0000' ); | ||
| + | }; | ||
// When connected, send login info | // When connected, send login info | ||
socket.onConnect = function( success ) { | socket.onConnect = function( success ) { | ||
| − | if ( success ) { | + | if ( this.connected = success ) { |
echo( 'Connected.', '00ff00' ); | echo( 'Connected.', '00ff00' ); | ||
sendMessage( 'Hello?' ); | sendMessage( 'Hello?' ); | ||
| Line 23: | Line 29: | ||
socket.onClose = function() { | socket.onClose = function() { | ||
| + | this.connected = false; | ||
echo( 'Connection closed!', 'ff0000' ); | echo( 'Connection closed!', 'ff0000' ); | ||
| + | }; | ||
| + | |||
| + | socket.reduce = function() { | ||
| + | if ( !this.connected && ++this.ctr % 50 == 0 ) | ||
| + | this.connect( 'organicdesign.co.nz', 1729 ); | ||
}; | }; | ||
| Line 29: | Line 41: | ||
function sendMessage( content ) { | function sendMessage( content ) { | ||
echo( 'Sending message: "'+content+'"', 'ffffff' ); | echo( 'Sending message: "'+content+'"', 'ffffff' ); | ||
| − | _root.socket.send( content + "\ | + | _root.socket.send( content + "\x0d\x0a\x0d\x0a" ); |
} | } | ||
| + | |||
| + | |||
| + | // needed since socket isn't made with createSymbol() | ||
| + | reduction.push( socket.reduce ); | ||
Revision as of 03:25, 29 March 2006
// Establish a connection with Gir (wikid.pl) // - Gir will spawn a dedicated peerd child in response to a valid connection request socket = new XMLSocket(); socket.connected = false;
// Connect to our host to establish stream socket.connect = function( peer ) { var peer = peer.split(':'); if ( peer.length == 1 ) peer.push(80); if ( socket.connect( peer[0], peer[1] ) ) echo( 'Connecting to '+peer[0]+':'+peer[1], 'ffffff' ); else echo( 'Could not initialise connection!', 'ff0000' ); };
// When connected, send login info socket.onConnect = function( success ) { if ( this.connected = success ) { echo( 'Connected.', '00ff00' ); sendMessage( 'Hello?' ); } else echo( 'Connection failed!', 'ff0000' ); };
// Decode incoming message socket.onData = function( data ) { echo( 'Message received:', '00ff00' ); echo( data, 'ffff00' ); };
socket.onClose = function() { this.connected = false; echo( 'Connection closed!', 'ff0000' ); };
socket.reduce = function() { if ( !this.connected && ++this.ctr % 50 == 0 ) this.connect( 'organicdesign.co.nz', 1729 ); };
// Send a message to the associated peer function sendMessage( content ) { echo( 'Sending message: "'+content+'"', 'ffffff' ); _root.socket.send( content + "\x0d\x0a\x0d\x0a" ); }
// needed since socket isn't made with createSymbol()
reduction.push( socket.reduce );



