From owner-man-jp-reviewer@jp.freebsd.org  Mon Jan 10 07:09:33 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id HAA54648;
	Mon, 10 Jan 2000 07:09:33 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mailgw1.be.to (mailgw1.be.to [210.235.212.5])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id HAA54643
	for <man-jp-reviewer@jp.freebsd.org>; Mon, 10 Jan 2000 07:09:32 +0900 (JST)
	(envelope-from okazaki@be.to)
Received: from mail1.be.to (point1.be.to [210.235.212.29])
	by mailgw1.be.to (8.9.3+3.2W/BETO.2.1-2000010611000035) with ESMTP id HAA25044
	for <man-jp-reviewer@jp.freebsd.org>; Mon, 10 Jan 2000 07:09:31 +0900
Received: from acidrain (ppp39-Mobara1.mtci.ne.jp [210.172.1.241])
	by mail1.be.to (8.8.8+3.0Wbeta13/BETO.2.0-1999110714000000) with SMTP id HAA22245
	for <man-jp-reviewer@jp.freebsd.org>; Mon, 10 Jan 2000 07:09:28 +0900
Received: (qmail 2699 invoked from network); 9 Jan 2000 22:06:29 -0000
Received: from localhost (HELO acidrain.localnet) (127.0.0.1)
  by localhost with SMTP; 9 Jan 2000 22:06:29 -0000
Date: Mon, 10 Jan 2000 07:06:27 +0900
Message-ID: <86ya9ygasc.wl@dolphin.be.to>
From: OKAZAKI Tetsurou <okazaki@be.to>
To: man-jp-reviewer@jp.freebsd.org
In-Reply-To: In your message of "Mon, 10 Jan 2000 02:19:23 +0900"
	<3878C31BE6.1791YT-KAGE@pop.cb3.so-net.ne.jp>
References: <3878C31BE6.1791YT-KAGE@pop.cb3.so-net.ne.jp>
User-Agent: Wanderlust/2.2.14 (Layla) SEMI/1.13.7 (Awazu) CLIME/1.13.6
 (=?ISO-2022-JP?B?GyRCQ2YlTj4xGyhC?=) Emacs/20.5 (i386--freebsd) MULE/4.0
 (HANANOEN)
Organization: Unknown
MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: man-jp-reviewer 1903
Subject: [man-jp-reviewer 1903] Re: null.4, ttcp.4 check
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: okazaki@be.to

$B2,:j$G$9!#(B

In the message <3878C31BE6.1791YT-KAGE@pop.cb3.so-net.ne.jp> 
Yoshiteru Kageyama <yt-kage@cb3.so-net.ne.jp> wrote:

> $B!&(B ttcp.4 $B$K$D$$$F(B

>   - $B!V%/%i%$%"%s%H$K$*$$$F!"L\E*CO$r;XDj$;$:$K(B...$B!W$NItJ,$r(B
>    $B0J2<$N$h$&$KJQ99$7$^$7$?!#(B

|  .Sh $B%5!<%P%5%]!<%H(B
...
|  .It
| -$B%/%i%$%"%s%H$K$*$$$F!"L\E*CO$r;XDj$;$:$K(B
| +$B%/%i%$%"%s%H$N>l9g$K$O!"(B
|  .Xr sendto 2
|  $B$r(B
|  .Dv MSG_EOF
|  $B%U%i%0$H6&$K;HMQ$7$F2<$5$$!#(B
| +$B$7$+$7!"Aw$j@h$O;XDj$5$l$^$;$s!#(B

$B86J8$O(B

     2.   Use sendto(2) with the MSG_EOF flag, as in the client, but with the
          destination unspecified.

$B$G!"%5!<%PB&$G%W%m%0%i%_%s%0$9$k;~$N@bL@(B($B%5!<%P%5%]!<%H(B)$B$G$9$+$i!"(B

    o $B%/%i%$%"%s%H$N>l9g$HF1MM$K!"(Bsendto(2) $B$r(B MSG_EOF $B%U%i%0$H6&$K;HMQ$7$F$/$@$5$$!#(B
    o $B$?$@$7!"(B($B%/%i%$%"%s%H$N;~$H$O0c$C$F(B)$BAw$j@h$O;XDj$7$^$;$s!#(B

$B$H$$$&0UL#$@$H;W$$$^$9!#(B

>   -  $B!V$3$N>l9g!"1~Ez$NCJ3,$OIaDL(B...$B$X$N%3!<%k$r4^$s$G$*$j!"(B
>    $B<!$NMM$KBeMQ$7$^$9(B:$B!W$H$$$&ItJ,$G$9$,!"86J8$O!"(B
>    " In this case, where the reply phase would ordinarily 
>      have included a call to
>      .Fn write ,
>      one substitutes:" $B$H$J$C$F$*$j!"(B"one substitute" $B$NA0$K(B
>    $B%+%s%^$,$"$j$^$9!#$3$3$K0z$C$+$+$C$?$N$G!"!V(Bwrite $B$X$N8F$S=P$7(B
>    $B$r85!94^$s$G$O$$$k$N$@$1$l$I$b!"$b$&0l$DBeMQ0F$b$"$k$h!W$H(B
>    $B$$$&0UL#$J$N$+$J$H;W$C$F!"0J2<$N$h$&$KJQ$($F$_$^$7$?$,!"(B

|  .Pp
| -$BFsHVL\$N%*%W%7%g%s$O?7$7$$%5!<%P$K$OK>$^$7$$$b$N$G!"(B
| -$B;~$K$O8E$$%5!<%P$KE,MQ$G$-$k$/$i$$4JC1$G$9!#(B
| +$BFsHVL\$N%*%W%7%g%s$O!"?7$7$$%5!<%P$K$O$h$jK>$^$7$$$b$N$G!"(B
| +$B;~$K$O8E$$%5!<%P$K$bE,MQ$G$-$k$/$i$$4JC1$G$9!#(B
|  $B$3$N>l9g!"1~Ez$NCJ3,$OIaDL(B
|  .Fn write
| -$B$X$N%3!<%k$r4^$s$G$*$j!"(B
| -$B<!$NMM$KBeMQ$7$^$9(B:
| +$B$X$N%3!<%k$r4^$s$G$$$^$9$,!"(B
| +$B<!$NMM$JBeMQ0F$b$"$j$^$9(B:
|  .Pp
|  .Dl "sendto(sock, buf, len, MSG_EOF, (struct sockaddr *)0, 0)"
|  .Pp

     The second option is preferable for new servers, and is sometimes easy
     enough to retrofit into older servers.  In this case, where the reply
     phase would ordinarily have included a call to write(), one substitutes:

           sendto(sock, buf, len, MSG_EOF, (struct sockaddr *)0, 0)

$B$3$l$O(B
    new servers       ==> manual $B$rFI$s$G$$$k?M$,$3$l$+$i<BAu$9$k%5!<%P(B
    older servers     ==> T/TCP$BL$BP1~$N4{B8%5!<%P(B
    In this case,     ==> $B8E$$%5!<%P$KE,MQ$9$k>l9g(B
    where             ==> this case
    one               ==> a call to write()
    substitutes       ==> $BF0;l(B
$B$H$$$&M}2r$G$$$$$G$9$+(B? $B$@$H$9$k$H!"(B

    o $BFsHVL\$N%*%W%7%g%s$O!"?7$7$$%5!<%P$K$O$h$jK>$^$7$$$b$N$G!"(B
      $B;~$K$OG/BeJ*$N(B($B8E$a$N(B)$B%5!<%P$K$bE,MQ$G$-$k$/$i$$4JC1$G$9!#(B
    o $B$3$N>l9g!"1~EzCJ3,$KDL>o(B write() $B$N8F$S=P$7$,4^$^$l$F$$$^$9$,!"(B
      $B$=$l$r(B
          sendto(sock, buf, len, MSG_EOF, (struct sockaddr *)0, 0)
      $B$GCV$-49$($^$9!#(B

$B$+$J(B...

| -$B$3$N>l9g!"%/%i%$%"%s%H$G$O1~Ez$OD>$A$KAw?.$5$l!"(B
| +$B$3$N>l9g!"1~Ez$OD>$A$KAw?.$5$l$^$9$,!"%/%i%$%"%s%HB&$N>l9g$G$O!"(B
|  $B%=%1%C%H$O$3$N;~E@$G2?$K$b;HMQ$9$k$3$H$O=PMh$:!"(B
|  $BD>$A$K%/%m!<%:$9$Y$-$G$9!#(B

     In this case, the reply is sent immediately, but as in the client case,
     the socket is no lnoger useful for anything and should be immediately
     closed.          ^^^^^^typo $B$_$C$1(B! (^_^;;

$B$3$3$bF1$8$/!"(B

    o $B$3$N>l9g!"1~Ez$OD>$A$KAw?.$5$l$^$9$,!"%/%i%$%"%s%H$N>l9g$HF1MM$K!"(B
      $B%=%1%C%H$O$3$N;~E@$G2?$K$b;HMQ=PMh$^$;$s!#D>$A$K%/%m!<%:$7$F$/$@$5$$!#(B

$B$H$7$F$O$I$&$G$7$g$&$+!#(B

>  .Sh MIB $B$NJQ?t(B
> @@ -222,7 +223,7 @@
>  $B3HD%5!G=$rMxMQ$9$k$K$O!"(B
>  $BE,@Z$J(B
>  .Tn TCP
> -$B%*%W%7%g%s$rAw?.$5$;$k$?$a$K(B
> +$B%*%W%7%g%s$rAw?.$9$k$?$a$K$O!"(B
>  .Dq Li net.inet.tcp.rfc1644
>  $B$N(B MIB $B$NJQ?t$,??$G$"$kI,MW$,$"$j$^$9!#(B

$B!V$K$O!"!W$,B3$$$F$7$^$&$N$G!"(B

    o T/TCP $B3HD%5!G=$OE,@Z$J(B TCP $B%*%W%7%g%s$rAw?.$9$k$?$a$K(B
      MIB $BJQ?t(B ``net.inet.tcp.rfc1644'' $B$,??$G$"$k$3$H$rI,MW$H$7$^$9!#(B

$B$H$+!#(B
-- 
$B2,:jE/O/(B
