node.jsで遊んでみたのでそのメモ。
npm(Node Version Manager)を使用してnode.jsのバージョン管理が出来ますが今回はバージョン固定でインストールです。
インストール方法は大きく分けるとubuntuのデフォルト、最新バイナリ、ソースコードの3種類があるけど、今回はソースコードでのインストールで実施した。
% sudo apt install nodejs
% nodejs -v
V4.2.6
% curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
% sudo apt install nodejs
% nodejs -v
V7.5.0
% sudo apt install node-gyp
% wget http://nodejs.org/dist/v7.5.0/node-v7.5.0.tar.gz
% tar xzvf node-v7.5.0.tar.gz
% cd node-v7.5.0
% ./configure
% make
% make install
単純にnode.jsを動かしてみよう。
ソースコードは次のように。
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(1234);
console.log('Server running at http://127.0.0.1:1234/');
実行は次のように。
% nodejs sample.js
Server running at http://127.0.0.1:1234/
ブラウザからhttp://localhost:8124/にアクセスします。
そうしたら、"Hello World"が表示される。
ソースコードは次のように。
// netモジュールを読み込み、インスタンスを作成
var net = require('net');
// サーバーのイベントハンドラを定義
net.createServer(function (socket) {
// ソケット経由でメッセージを送出
socket.write('This is RLS Tech News Echo Server\r\n');
// データを受信したら、そのままメッセージとして送出
socket.on('data', function(data) {
socket.write(data);
});
}).listen(1234, '127.0.0.1'); // 127.0.0.1の1234番ポートで待機
次のようにsample2.jsを起動しておき、
% nodejs sample2.js
別のターミナルからtelnetでアクセスして文字入力をすると、同じ文字がエコーで返ってくる。
% telnet localhost 1234
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
This is RLS Tech News Echo Server
Hello
Hello
^]
telnet> quit
Connection closed.
%
JavaScrpitで通信できるって面白いね。