I have used net sockets library, and have made a class, i initialize two objects with different IP's and same PORT number, when i get connect with both objects, both show the IP of last connected object, even i have used this.Socket = new require( 'net' ).Socket(); in the constructor :(
Reason might be the that connect function shows recent IP being passed. see the code below. Response that i get: CONNECTED TO: 10.0.20.105:8898 CONNECTED TO: 10.0.20.105:8898 Connecting to SQL... SQL Connection Successful... Scales = require( './scales.class.js' ); var one = new Scales( "10.0.20.104", 8899 ); one.Init().Process(); var one = new Scales( "10.0.20.105", 8898 ); one.Init().Process(); ================================= *scales.class.js* var MSSQL = require( 'mssql/msnodesqlv8' ); var isSQLConnected = ''; function Scales( IP, PORT ) { //console.log( "hey: " + MSSQL ); // this.Socket = new require( 'net' ).Socket(); this.SQL = MSSQL; // this.liveSQLConfig = { }; this.localSQLConfig = { }; this.SQLConfig = ''; // this.devEnvironment = "live"; this.routerIP = IP; this.routerPORT = PORT; this.Weight = "0.0kg"; this.Timeout = 10000; // this.connectedToRouter = false; this.cachedWeightValue = 0; this.reconnectOnError = true; this.recursiveTimerRef = null; this.closeConnectionOnFirstDataReceive = false; this.printValueToConsole = true; this.isSQLConnected = false; } Scales.prototype = { constructor: Scales, Init: function() { if ( this.devEnvironment == "live" ) { this.SQLConfig = this.liveSQLConfig; } else { this.SQLConfig = this.localSQLConfig; } if ( !this.reconnectOnError ) { console.log( 'Reconnecting...' ); } // this.Socket.on( 'error', function() { ME.onErrorEventHandler(); } ); return this; }, Process: function() { ME = this; //console.log( 'CONNECTED TO: ' + ME.routerIP ); this.Socket.connect( this.routerPORT, this.routerIP, function() { clearTimeout( ME.recursiveTimerRef ); // once connected timer should be cleared ME.reconnectOnError = true; //once connected it should be allowed to execute onErrorEventHandler if error occurs and connection breaks console.log( 'CONNECTED TO: ' + ME.routerIP + ':' + ME.routerPORT ); ME.Socket.on( 'data', function( data ) { if ( ME.isSQLConnected == false ) { ME.isSQLConnected = true; console.log( 'Connecting to SQL...' ); ME.SQL.connect( ME.SQLConfig, function( err ) { if ( err ) { console.log( 'SQL: ' + err ); } else { console.log( 'SQL Connection Successful...' ); ME.onDataEventHandler( data ); }; } ); } // } ); } ); }, connectToSQLServer: function() { // }, onDataEventHandler: function( data ) { //console.log( this.routerIP ); this.Weight = data.toString().trim().replace( /\s/g, '' ).replace( /US/g, '' ).replace( /ST/g, '' ).replace( /GS/g, '' ).replace( /,/g, '' ).replace( /GS/g, '' ).replace( /-/g, '' ); if ( this.printValueToConsole ) { console.log( this.routerIP ); } if ( this.Weight != this.cachedWeightValue && this.Weight.length <= 10 ) { if ( this.printValueToConsole ) { console.log( this.Weight ); this.printValueToConsole = false; } this.cachedWeightValue = this.Weight; } // Close the client socket completely if ( this.closeConnectionOnFirstDataReceive ) //if want to perform something/check/test ONLY on the very first string we receive { this.Socket.destroy(); } } } module.exports = Scales; -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. To post to this group, send email to nodejs@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/73944f5f-0962-4800-b1fb-d308e0451e12%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.