From: Masaki Suketa Date: 1997-09-12T09:05:11+09:00 Subject: [ruby-dev:476] Re: [Q] ruby-socket(mswin32) 助田です。まとめてレスします。(ちょっと長いです) In message "[ruby-dev:474] Re: [Q] ruby-socket(mswin32)" KIMURA Koichi writes : >すいません。お手数掛けます。 いえいえ。いろいろアドバイス頂いて感謝してます。テストしてきました。 スタティックリンクしてやると setbuf で落ちなくなりました。v(^^)v ですが... (--) svr.rb を実行します。clnt.rb を実行します。文字列書き込むと "clnt.rb:14:in 'write':Errno::EBADF | Bad file descriptor" と言って clnt.rb が終了します。 svr.rbは clnt.rbが接続切ったことだけは認識して動き続けます。 さらに clnt.rb を cygwin32版 ruby で実行して同じようにすると "clnt.rb:15:in 'readline':EOFError | End of file reached" といって clnt.rb が終了します。 svr.rbは clnt.rbが接続切ったことだけは認識して動き続けます。 ということで In message "[ruby-dev:475] Re: [Q] ruby-socket(mswin32)" WATANABE Hirofumi writes : >わたなべです. >るとは書いてなかったです. だからたとえ fdopen() で buffer 等 >が初期化できても今度は _read/_write でつまづきそう. これを解 >決するには stdio を自前で用意しなきゃいけない. のようです。だんだん私の手におえなくなってきてる。(T_T) >わたなべです. >ちなみに srv.rb, clnt.rb の s.write(foo) を s.send(foo, 0) >にすれば MSWin32 でちゃんと動くのかな? これは試していないです。 助田 雅紀(suke@tonen.co.jp)