-
-
Save reprimande/4290531 to your computer and use it in GitHub Desktop.
Node.js入門 勉強会(2ndシーズン 1回目) 課題
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var net = require('net'); | |
var host = '127.0.0.1'; | |
var port = 12345; | |
var server = net.createServer(); | |
server.maxConnections = 1; | |
server.on('connection', function(socket) { | |
console.log('server : connection start'); | |
socket.end(); | |
server.close(); | |
}); | |
server.on('close', function() { | |
console.log('server : server closed.'); | |
}); | |
server.listen(port, host, function() { | |
var addr = server.address(); | |
console.log('server : listening start on server - ' + addr.address + ':' + addr.port); | |
var client = net.connect({host:host, port:port}); | |
client.on('error', function(e) { | |
console.error('client : connection failed - ' + host + ':' + port); | |
console.log(e.message); | |
}); | |
client.on('connect', function() { | |
console.log('client : connected - ' + host + ':' + port); | |
}); | |
client.on('end', function(had_error) { | |
console.log('client : connection end - ' + host + ':' + port); | |
}); | |
client.on('close', function() { | |
console.log('client : client closed'); | |
}); | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var net = require('net'); | |
var startTime = new Date(); | |
var host = '127.0.0.1'; | |
var port = 12345; | |
var MAX_COUNT = 1000; | |
var MAX_CONNECTION = 10; | |
var server = net.createServer(); | |
server.maxConnections = MAX_CONNECTION; | |
var serverCount = 0; | |
server.on('connection', function(socket) { | |
serverCount++; | |
console.log('server : connection start : ' + serverCount); | |
if (serverCount === MAX_COUNT) { | |
server.close(); | |
} | |
socket.end(); | |
socket.writable = socket.readable = false; | |
//socket.destroy(); | |
}); | |
server.on('close', function() { | |
console.log('server : server closed.'); | |
var endTime = new Date(); | |
console.log((endTime - startTime) + 'ms.'); | |
}); | |
var clientCount = 0; | |
function createClient() { | |
if (clientCount >= MAX_COUNT) return; | |
var client = net.connect({host:host, port:port}); | |
clientCount++; | |
client.on('error', function(e) { | |
console.error('client : connection failed - ' + host + ':' + port); | |
console.log(e.message); | |
}); | |
client.on('connect', function() { | |
//console.log('client : connected - ' + host + ':' + port); | |
}); | |
client.on('end', function() { | |
//console.log('client : connection end - ' + host + ':' + port); | |
}); | |
client.on('close', function(had_error) { | |
//console.log('client : client closed' + ':' + had_error); | |
createClient(); | |
}); | |
}; | |
server.listen(port, host, function() { | |
var addr = server.address(); | |
console.log('server : listening start on server - ' + addr.address + ':' + addr.port); | |
for (var i = 0; i < MAX_CONNECTION; i++) { | |
createClient(); | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment