please help almost 3 days waste
// tcpserver.js
// TCPSERVER SETUP
// tcpserver.js for all socket connections exchange communication
var net = require('net');
var log4js = require('log4js');
var socketUtil = require("./app/utils/socketutils.js");
// Set port and host against tcp server
var HOST = process.env.TCPHOST || '127.0.0.1';
var PORT = process.env.TCPPORT || 8889;
//create objects and properties
var tcpServer = net.createServer();
var canWrite = false;
var buffer = [];
var END_MSG = 'LOG4JS';
//Set up logger things
log4js.configure({
appenders: [{
type: 'console'
}, {
type: 'file',
filename: "logs/default.log", // specify the path where u want logs folder error.log
category: 'etm_android_log'
// maxLogSize: 20480,
// backups: 10
}]
});
// initialize the logger var to use.
var logger = log4js.getLogger('etm_android_log');
//logger.info("Time:", new Date());'''
tcpServer.on('connection', function(socket){
console.log('connection established....');
socketUtil.socketAddress(socket);
// 'getConnection' event handler to count the number of tcp connections
tcpServer.getConnections(function(error, count) {
console.log('Concurrent tcp connections= ' + count);
});
// add an 'end' event handler to this instance of socket
socket.on('end', function() {
socketUtil.socketStats(socket);
console.log('end event on socket fired');
});
// add an 'close' event handler to this instance of socket
socket.on('close', function() {
console.log('close event on socket fired');
})
// add a 'data' event handler to this instance of socket
socket.on('data', function(data) {
console.log('data received from the tcp client');
emptyBuffer(data);
logger.info('This is Information Logger');
canWrite = true;
// var flushed = socket.write('TCP Server Reply: ' + data);
// console.log(flushed);
// socketUtil.socketStats(socket);
//socket.emit('error', new Error('forcefully injected error'));
});
// add a 'error' event handler to this instance of socket
socket.on('error', function(error) {
if (error.code == 'ECONNRESET') {
console.log('ECONNRESET is ' + error.messsage )
} else {
console.log('something wrong happpened here' + error.messsage);
}
//socket.end('socket can send some more data but it will be ended');
//socket.destroy();
});
socket.setTimeout(600000);
socket.on('timeout', function() {
socket.end('timed out...');
});
// Logging Stack Events
function emptyBuffer(evtData) {
console.log('Buffer Calling');
//var evt;
while ((evt = buffer.shift())) {
console.write('my event data is ' + evtData);
write(evtData);
}
}
function write(loggingEvent) {
// JSON.stringify(new Error('test')) returns {}, which is not really useful for us.
// The following allows us to serialize errors correctly.
console.write('my loggingEvent is ' + evt);
if (loggingEvent && loggingEvent.stack && JSON.stringify(loggingEvent) === '{}') { // Validate that we really are in this case
loggingEvent = {
stack: loggingEvent.stack
};
}
socket.write(JSON.stringify(loggingEvent), 'utf8');
socket.write(END_MSG, 'utf8');
if (canWrite) {
write(loggingEvent);
} else {
buffer.push(loggingEvent);
}
}
});
tcpServer.maxConnections=10;
/setTimeout(function() {
tcpServer.close(function() {
console.log('server closed');
})
}, 600000);/
tcpServer.on('close', function() {
console.log('second server close event handler');
});
// tcpServer.listen(PORT);
// tcpServer.listen(PORT, HOST);
tcpServer.listen(PORT, HOST, function() {
/var host = server.address().address,
port = server.address().port;
console.log('TCP Server started listening on HOST: ' + host + ' & PORT: ' + port);/
console.log('TCP Server started listening on HOST: ' + HOST + ' & PORT: ' + PORT);
});
'''