以下のメッセージを削除します。


[1958] 書籍「Webサーバを…」の1.3.3について
返信


投稿者:E2E4E9E4
2016/07/30 00:31:48

Link:
お世話になります。
以前に1.5.4について質問させていただいたものです。
その節はありがとうございました。(お礼が遅れてすみません)

今回もまた質問させてください。

p24では、「( 先にブラウザを閉じてしまうと、ソケットが閉じられて、ソケット切断後はInputStream.read()は-1を返すのですが、TcpServerはそれに対するチェックを入れていないので無限ループに入ります……)」とあります。
これは、
「(TcpServerは、17行目でクライアントから終了マークである0を受け取るまで処理を継続するようになっていますが、本物のWebブラウザはこのような終了マークを送らないからです)」
とすべきではないでしょうか。

実際に先にブラウザを閉じてしまうと、TcpServerは「java.net.SocketException: Connection reset」の例外をcatchしてスタックトレースを吐いた後に終了します。

パスワード:

管理者削除