藤本です、こんにちは。

From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:6887] Re: http_get.rb
Date: Mon, 2 Mar 1998 19:10:29 +0900

> まつもと ゆきひろです
> 
> In message "[ruby-list:6886] Re: http_get.rb"
>     on 98/03/02, 藤本尚邦 / FUJIMOTO Hisakuni <hisa / imasy.or.jp> writes:
> 
> |藤本です、こんにちは。
> 
> |  この時点でファイルfooを直接覗くと 666F6F0A0D になってました。どうい
> |うことかわからないけど、\rと\nがそれぞれ逆に変換されてるのかなという感
> |じです。
> 
> そーですか.ということはすくなくとも現時点ではPerl FAQにある
> 通り,本当に CR LF を移植性のある形で出力したければバイナリ
> モードにするか,リテラルで埋め込むしかないわけですね.

#メールスレッドの本題をよくわかってないので何ですが、Subjectから考え
#て関係あるのかなということで..

  Mac版のsocketモジュールを簡単にテストするため書いた下のようなスクリ
プトは期待どおり動作します。このスクリプトでは、ソケットに対してCRLFを
当り前のように送り、入力を行単位で表示してます。これがちゃんと動くとい
うことは、TCPソケットに対するCRLFをライブラリ(GUSI)がうまいこと処理し
てくれてるのかなぁとも思います。

------ ここから ------ ここから ------ ここから ------
FINGER_PORT = 79
CRLF = "\r\n"

STDERR.print "finger host ? "
host = STDIN.gets.chop

STDERR.print "user name ? "
user = STDIN.gets.chop

require "socket"

finger_socket = TCPsocket.open(host, FINGER_PORT)
begin
  finger_socket.puts(user + CRLF)
  for a_line in finger_socket
    STDOUT.print a_line
  end
ensure
  finger_socket.close
end
------ ここまで ------ ここまで ------ ここまで ------

=============================================================
 藤本尚邦  FUJIMOTO Hisakuni                hisa / imasy.or.jp
=============================================================