| |
| var HOST = 'localhost' |
| var PORT = 12345; |
| var EXIT_TIMEOUT = 300e3; |
| |
| print('automatic exit after ' + (EXIT_TIMEOUT / 1e3) + ' seconds'); |
| setTimeout(function () { |
| print('exit timer'); |
| EventLoop.requestExit(); |
| }, EXIT_TIMEOUT); |
| |
| print('listen on ' + HOST + ':' + PORT); |
| EventLoop.server(HOST, PORT, function (fd, addr, port) { |
| print('new connection on fd ' + fd + ' from ' + addr + ':' + port); |
| EventLoop.setReader(fd, function (fd, data) { |
| var b, i, n, x; |
| |
| // Handle socket data carefully: if you convert it to a string, |
| // it may not be valid UTF-8 etc. Here we operate on the data |
| // directly in the buffer. |
| |
| b = data.valueOf(); // ensure we get a plain buffer |
| n = b.length; |
| for (i = 0; i < n; i++) { |
| x = b[i]; |
| if (x >= 0x61 && x <= 0x7a) { |
| b[i] = x - 0x20; // uppercase |
| } |
| } |
| |
| print('read data on fd ' + fd + ', length ' + data.length); |
| EventLoop.write(fd, data); |
| }); |
| }); |