mirror of https://github.com/lukechilds/node.git
Ryan Dahl
13 years ago
1 changed files with 46 additions and 0 deletions
@ -0,0 +1,46 @@ |
|||
var net = require('net'), |
|||
cp = require('child_process'), |
|||
util = require('util'); |
|||
|
|||
if (process.argv[2] === 'server') { |
|||
// Server
|
|||
|
|||
var server = net.createServer(function(conn) { |
|||
conn.on('data', function(data) { |
|||
console.log('server received ' + data.length + ' bytes'); |
|||
}); |
|||
|
|||
conn.on('close', function() { |
|||
server.close(); |
|||
}); |
|||
}); |
|||
server.listen(1234, '127.0.0.1'); |
|||
|
|||
console.log('Server running.'); |
|||
} else { |
|||
// Client
|
|||
|
|||
var serverProcess = cp.spawn(process.execPath, [process.argv[1], 'server']); |
|||
serverProcess.stdout.pipe(process.stdout); |
|||
serverProcess.stderr.pipe(process.stdout); |
|||
|
|||
serverProcess.stdout.once('data', function() { |
|||
var client = net.createConnection(1234, '127.0.0.1'); |
|||
client.on('connect', function() { |
|||
var alot = new Buffer(1024), |
|||
alittle = new Buffer(1); |
|||
|
|||
for (var i = 0; i < 100; i++) { |
|||
client.write(alot); |
|||
} |
|||
|
|||
// Block the event loop for 1 second
|
|||
var start = (new Date()).getTime(); |
|||
while ((new Date).getTime() < start + 1000) {} |
|||
|
|||
client.write(alittle); |
|||
|
|||
client.destroySoon(); |
|||
}); |
|||
}); |
|||
} |
Loading…
Reference in new issue