いわおかです。

In the message <200308120229.h7C2TPPL011628 / sharui.nakada.kanuma.tochigi.jp>,
  on Tue, Aug 12, 2003 at 11:29:26AM +0900, nobu.nakada / nifty.ne.jp wrote:
> > ですが、ポートが閉じているときは、Invalid argument - "connect(2)"
> > (Errno::EINVAL) と表示されます。
> 
> バージョンよりも、システムによるのかも知れません。少なくとも
> linux 2.4.20ではECONNREFUSEDになりました。

自ホストと他ホストの差じゃないでしょうか? FreeBSD 4.8-STABLE では
以下のようになります。

% ruby -v -rsocket -e 'TCPSocket.new("localhost", 12312)'
ruby 1.6.8 (2003-01-17) [i386-freebsd4]
-e:1:in `new': Connection refused - "connect(2)"
(Errno::ECONNREFUSED)
        from -e:1

% ruby -v -rsocket -e 'TCPSocket.new("xxx.xxx.xxx.xxx", 12312)'
ruby 1.6.8 (2003-01-17) [i386-freebsd4]
-e:1:in `new': Invalid argument - "connect(2)" (Errno::EINVAL)
        from -e:1

いわおか