forked from webtunings/node.js-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtcpServer_close_event_handler.js
More file actions
44 lines (30 loc) · 1.15 KB
/
tcpServer_close_event_handler.js
File metadata and controls
44 lines (30 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var net = require('net');
var tcpServer = net.createServer(function(socket){
console.log('connection established....');
tcpServer.getConnections(function(error,count){
console.log('number of concurrent tcp connections= '+ count);
});
socket.on('end', function(){
console.log('server disconnected..');
});
socket.on('close', function(){
console.log('closed event on socket fired');
});
socket.on('data', function(data){
console.log('data received from the tcp client');
socket.write('Server Reply: ' + data);
//socket.emit('error', new Error('forcefully injected error'));
});
socket.on('error', function(error){
console.log('something wrong happpened here');
//socket.end('socket can send some more data but it will be ended');
socket.destroy();
});
});
tcpServer.maxConnections=10;
setTimeout(function(){ tcpServer.close(function(){console.log('server closed');})},60000);
tcpServer.on('close',function(){ console.log('second server close event handler');});
tcpServer.listen(function(){
var port = tcpServer.address().port;
console.log('server started listening on port: ' + port);
});