Node.jsでWindows Named Pipeを使って通信する

Node.jsでWindows Named Pipeを使ってプロセス間通信を行うプログラムを作った。
ハマった点は以下の通り。

  • インストールしていたNode.jsのバージョンが古いことに気が付かず、windows-build-toolsがインストールできないため、sleepモジュールのネイティブコードがビルドできなくて困った。
  • 今となっては実際の送信がイベント駆動で行われているものと想定されるが、プロセス終了時に送信したメッセージが相手側に届かず困った。
  • Named Pipeが作成されていないときにオープンすると発生するUnhandled 'error' eventの意味が分からず、クライアント側でのサーバーの準備待ちのやり方が分からなくて困った。

上記はいずれも解決済みである。
ソースコードは以下から入手できる。

github.com

【参考文献】