サーバのテストをするときなどに未使用のポートを使ってテストコードを走らせたい、というときがあって、PerlだとTest::TCPにempty_portというのがあって簡単に取得出来る。 $ perl -MTest::TCP -E 'say Test::TCP::empty_port' 10256引数を与えない場合は毎回違う値になるけれど、基本的に必ず空いているポート番号が返ってくる。 nodeでも同じようなのがあればいいな、と思ったのだけど多分ないのでTest::TCPを参考に自分で書いてみた。 exports.empty_port = function(callback) { port = 10000 + Math.floor(Math.random() * 1000); var net = require('net'); var socket = new net.Socket(); v