g120と言う:私が得るのはnet.TCPConnからのEOFです。接続が切断されたかどうかはどのように分かりますか?
"EOFは入力が利用できなくなったときに返されるエラーです。関数は、入力が正常終了したことを知らせるためにEOFを返す必要があります。適切なエラーは、ErrUnexpectedEOFまたは詳細を示す他のエラーのいずれかです。
私のプログラムでは、love
がErrUnexpectedEOFを愛するが、私はそうではない。クライアントがファイルを送信している途中で終了しても、私はいつもEOFを取得します。
だから、私は立ち往生しています。終了時にEOFを送信する方法の100%を転送する成功したファイル。また、エラーを伴って50%を終了するファイルも、EOFをエラーとして送信します。私は転送の前にファイルの合計サイズを知りません。
net.TCPConnから取得できる情報は、これがフルファイルかどうかを知ることはできますか?
これはTCPの動作方法です。接続が早期に終了したかどうかを判断するには、より高いレベルのプロトコルが必要です。 – JimB
@JimBが正しいです。 TCPは、パケット/ブロックベースのプロトコルではなく、バイトをストリームする「ストリーミング」プロトコルです。 –
Goは、EOFが予期せぬことをどのように知っていますか? – immibis