forked from webtunings/node.js-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtcpServer_close.js
More file actions
43 lines (29 loc) · 1.05 KB
/
tcpServer_close.js
File metadata and controls
43 lines (29 loc) · 1.05 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
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 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.listen(function(){
var port = tcpServer.address().port;
console.log('server started listening on port: ' + port);
});