You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
process.mixin(require("../common"));
|
|
|
|
net = require("net");
|
|
|
|
|
|
|
|
path = process.ARGV[2];
|
|
|
|
greeting = process.ARGV[3];
|
|
|
|
|
|
|
|
receiver = net.createServer(function(socket) {
|
|
|
|
socket.addListener("fd", function(fd) {
|
|
|
|
var peerInfo = process.getpeername(fd);
|
|
|
|
peerInfo.fd = fd;
|
|
|
|
var passedSocket = new net.Socket(peerInfo);
|
|
|
|
|
|
|
|
passedSocket.addListener("eof", function() {
|
|
|
|
passedSocket.close();
|
|
|
|
});
|
|
|
|
|
|
|
|
passedSocket.addListener("data", function(data) {
|
|
|
|
passedSocket.send("[echo] " + data);
|
|
|
|
});
|
|
|
|
passedSocket.addListener("close", function() {
|
|
|
|
receiver.close();
|
|
|
|
});
|
|
|
|
passedSocket.send("[greeting] " + greeting);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
/* To signal the test runne we're up and listening */
|
|
|
|
receiver.addListener("listening", function() {
|
|
|
|
common.print("ready");
|
|
|
|
});
|
|
|
|
|
|
|
|
receiver.listen(path);
|