Yes. According to the code you sent..
I think you are overwriting the variable.
its:
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();

it should be:
Scales = require( './scales.class.js' );
var one = new Scales( "10.0.20.104", 8899 );
one.Init().Process();
var two = new Scales( "10.0.20.105", 8898 );
two.Init().Process();



On 6 November 2017 at 10:49, Muhammad Shahzad <muhammad.shah...@ki5.co.uk>
wrote:

> 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
> <https://groups.google.com/d/msgid/nodejs/73944f5f-0962-4800-b1fb-d308e0451e12%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
[]'s

-- 
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/CAET7tnaNJh_4cyW4VSOzsjaLSJvvWdrUQNaZgA2b36eP1FVkKg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to