|
|
|
include("mjsunit.js");
|
|
|
|
PORT = 23123;
|
|
|
|
|
|
|
|
var echoServer = node.tcp.createServer(function (connection) {
|
|
|
|
connection.addListener("receive", function (chunk) {
|
|
|
|
connection.send(chunk, "raw");
|
|
|
|
});
|
|
|
|
connection.addListener("eof", function () {
|
|
|
|
connection.close();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
echoServer.listen(PORT);
|
|
|
|
|
|
|
|
var recv = [];
|
|
|
|
var j = 0;
|
|
|
|
|
|
|
|
var c = node.tcp.createConnection(PORT);
|
|
|
|
|
|
|
|
c.addListener("receive", function (chunk) {
|
|
|
|
if (++j < 256) {
|
|
|
|
c.send([j], "raw");
|
|
|
|
} else {
|
|
|
|
c.close();
|
|
|
|
}
|
|
|
|
for (var i = 0; i < chunk.length; i++) {
|
|
|
|
recv.push(chunk[i]);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
c.addListener("connect", function () {
|
|
|
|
c.send([j], "raw");
|
|
|
|
});
|
|
|
|
|
|
|
|
c.addListener("close", function () {
|
|
|
|
p(recv);
|
|
|
|
echoServer.close();
|
|
|
|
});
|
|
|
|
|
|
|
|
process.addListener("exit", function () {
|
|
|
|
var expected = [];
|
|
|
|
for (var i = 0; i < 256; i++) {
|
|
|
|
expected.push(i);
|
|
|
|
}
|
|
|
|
assertEquals(expected, recv);
|
|
|
|
});
|