まつもと ゆきひろ@トヨタケーラムです.

In message "[ruby-list:275] TCPsocket"
    on 96/04/24, sa-sakamoto / kdd.co.jp <sa-sakamoto / kdd.co.jp> writes:
|
|酒本@KDDと申します。

おお,ちょうどソケットで悩んでいた時にメイルが….

|ソケットを使用したクライアントを考えているのですが、
|"\n" がないとサーバに送られません。

これはですね.クライアント側の問題ではなく,サーバ側の問題で
す.つまり

|なお、サーバは、socket.doc に添付のechoサーバを使用
|させていただきました。

ということなので,使っているサーバが「1行読んでそれを返す」
ものだからです.送る方はちゃんと送っていると思いますよ.

それとは別にsocket.cにはバグがありましたので,パッチをつけて
おきます.TCPserverに引数をひとつしか指定しないとエラーにな
るというものです.

--- ext/socket/socket.c~	Thu Apr 11 20:07:09 1996
+++ ext/socket/socket.c	Wed Apr 24 15:57:27 1996
@@ -204,3 +204,3 @@
     if (servent == NULL) {
-	servport = strtoul(RSTRING(serv)->ptr, Qnil, 0);
+	servport = strtoul(RSTRING(serv)->ptr, 0, 0);
 	if (servport == -1) Fail("no such servce %s", RSTRING(serv)->ptr);
@@ -217,3 +217,3 @@
     sockaddr.sin_family = AF_INET;
-    if (h == Qnil) {
+    if (h) {
 	sockaddr.sin_addr.s_addr = INADDR_ANY;
@@ -267,3 +267,3 @@
     else
-	return open_inet(class, Qnil, arg1, 1);
+	return open_inet(class, 0, arg1, 1);
 }