助田です。

In message "[ruby-list:4251] Re: ruby-tk on Windows"
KIMURA Koichi <kkimura / pure.cpdc.canon.co.jp> writes : 
>
>木村です。
>
>>#VC++ 4.0 で
>>#sock = socket(PF_INET, SOCK_STREAM, 0);
>>#fp = fdopen(sock, "r");
>>#が必ず失敗します。これじゃどうしようもないですよね。
>
>fdopenは nt.cの fdopenに変わってますよね?

確信ないんですが、miniruby では nt.c の fdopen が ruby.exe では
標準の fdopen が実行されてるみたいな感じがしてます。
多分 nt.c の NtInitialize みたいに dllエクスポートしてやればでき
るんではないかと予想してますが、まだ試してないです。

>fdopenから返る直前の GetLastError()でなにが返ってきてますか? 
>Winsockが初期化されていない以外のエラーであれば WSAGetError

WSAGetLastErrorですね。

#nt.c の mysocket を socket なんかにしてしまうと再帰呼び出しに
#なってしまうことに気がついた。なんか最近疲れてるみたいです。
#こんなことだからなかなか先へ進まない。

助田 雅紀(suke / tonen.co.jp)