ALGOBIT

2011/04/18

Node.js なら TCP エコーサーバが5行!

Filed under: 離散的な気まぐれ — タグ: , , , — Kohyama @ 13:41

サーバサイドスクリプトをいろいろ試しているところです.

Gauche でエコーサーバ
に続き, Node.js 版 TCPエコーサーバものせておきます.
Node.js は JavaScript の処理系です.

var net = require('net');
var server = net.createServer(function (stream) {
    stream.on('data', function (data) { stream.write(data); });
    stream.on('end', function () { stream.end(); }); });
server.listen(1111, 'localhost');

5行!
なんということでしょう.

エコーサーバとしてだけならば,本家にもっと短い例が載ってますが, データを処理するサーバの雛形なので, 送られてきたデータがコード内で変数として見えている最小のコードとしました.

node.js はインストールされているとします.
上記のソースをファイルに保存したら, 第一引数に保存したファイルのパスを指定して, node (Windows なら node.exe) を実行します.

UNIX 系ならば, #!/usr/bin/env node という行を先頭に追加し, chmod +x してあげれば直接実行できます.

Copyright © 2010 Yoshinori Kohyama All Rights Reserved.