forked from nodejs/node-v0.x-archive
/
test-net-server.js
58 lines (48 loc) · 1.35 KB
/
test-net-server.js
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
process.Buffer.prototype.toString = function () {
return this.utf8Slice(0, this.length);
};
var sys = require("sys");
var net = require("./lib/net");
var server = new net.Server(function (socket) {
sys.puts("connection (" + socket.fd + "): "
+ socket.remoteAddress
+ " port "
+ socket.remotePort
);
sys.puts("server fd: " + server.fd);
socket.addListener("data", function (b) {
socket.send("pong ascii\r\n", "ascii");
socket.send(b);
socket.send("pong utf8\r\n", "utf8");
if (/^quit/.test(b)) {
socket.close();
server.close();
}
});
socket.addListener("eof", function () {
sys.puts("server peer eof");
socket.close();
});
socket.addListener('drain', function () {
sys.puts("server-side socket drain");
});
});
server.addListener("listening", function () {
var c = net.createConnection("/tmp/node.sock");
c.addListener('connect', function () {
sys.puts("!!!client connected");
c.send("hello\n");
});
c.addListener('drain', function () {
sys.puts("!!!client drain");
});
c.addListener('data', function (d) {
sys.puts("!!!client got: " + JSON.stringify(d.toString()));
c.close();
});
c.addListener('eof', function (d) {
sys.puts("!!!client eof");
});
});
server.listen("/tmp/node.sock");
sys.puts("server fd: " + server.fd);