タグ

ブックマーク / otiai10.hatenablog.com (1)

  • 【Go言語】bufio.Scannerの静かな突然死に3営業日ハマった - DRYな備忘録

    tl;dr bufio.ScannerでScanが終わってもErrはちゃんと見ましょう。以上。 問題 継続的に書き込みのあるTCP接続からの読み込みを、bufio.Scannerをつかって華麗に逐次読み込みしていた。が、どうやらそれが静かに切断され、クライアント(こちら)側のローカルでの処理が先走っているように見える挙動があった。 res, err := ExecRemoteLongScript() defer res.Body.Close() scanner := bufio.NewScanner(res.Body) for scanner.Scan() { // do something for scanner.Bytes() } fmt.Println("done") みたいなので、RemoteScript(概念)が完全に終了していないのに、クライアント(こちら)側でfmt.Prin

    【Go言語】bufio.Scannerの静かな突然死に3営業日ハマった - DRYな備忘録
  • 1