はじめまして。瀧藤と申します。

現在rubyの勉強中です。まだ、サンプルスクリプトをちょこちょこっといじる
程度なんですが、そこで問題に出喰わしています。

「Rubyプログラミング入門」の世界で一番短いインターネットプログラミング
ってのをそのまま打込み走らせてみたのですが、うまく動いてくれません。下
のような感じです。

  $ ruby -v
  ruby 1.6.2 (2000-12-25) [i686-cygwin]
  $ cat test-sock.rb 
  require "socket"
  sock = TCPSocket.open("www.ruby-lang.org",80)
  sock.print "GET /en/ HTTP/1.0\r\n\r\n"
  while line = sock.gets
    print line
  end
  sock.close
  $ ruby test-sock.rb 
  test-sock.rb:2:in `open': Invalid argument - "connect(2)" (Errno::EINVAL)
	  from test-sock.rb:2

環境はWindows2000、Cygwin 1.1.8、Ruby 1.6.2(自分でコンパイル)です。

常にダメというわけではなく、何度も走らせるとたまに成功する場合があった
りします。接続先によっても成功する確率が違い、www.yahoo.comなんかは比較
的成功しやすいようです。localhostのWEBサーバの場合、なんの問題もなく成功
します。

試しに、
http://www.ruby-lang.org/~eban/
にある mingw、cygwinのバイナリでそれぞれ試してみたのですが、mingwはなんの
問題もなく正常に動作し、cygwin版の方はやはり上と同じような結果でした。

他のマシン(これもWin2000)でも同様でした。
ML過去ログを見てもそれらしきものはなっのですが、こういった症状が出ている
方は他にいらっしゃらないのでしょうか。

まだRubyを勉強している段階なので私にとって致命的な問題でもないのですが、
なにか気持ち悪いので、原因や解決法等おわかりになる方がいらっしゃれば教えて
いただけないでしょうか。よろしくお願い致します。
---
TAKIFUJI Shigeo
mailto:takifuji / a-phys.eng.osaka-cu.ac.jp