0

tTCPClient を試した後、ストリーミング API への httpwebrequest 接続を作成しましたが、うまくいきませんでした。私の懸念は、コードが正しいかどうか、実際に新しいデータを読み込んでいるかどうか、および接続が維持されているかどうかです。最初はバッファに読み込んでいて、最大サイズの後にすべてをファイルにロードしましたが、各エントリが改行で区切られて送信されていたため、行を読む方が簡単だと考えました。

rStream = webrequest.GetResponse().GetResponseStream
rStream = New GZipStream(rStream, CompressionMode.Decompress)
If rStream.CanRead then
   Dim bufferPit(8100) as byte
   Do
      Dim dStream as StreamReader = New StreamReader(rStream)
      While not dStream.EndOfStream
          rData = dStream.ReadLine()
          pTools.appendToFile(rData)
      End While
   .....//some other exception handling
   Loop While rStream.CanRead

ここで冗長データを読んでいるかどうかはわかりませんが、継続的に読んでいるようです。もう 1 つの質問は、appendToFile にスレッドを使用する場合、ストリームへの接続を維持できるかどうかです。

4

1 に答える 1

1

CanReadを誤用しています。ドキュメントをもう一度よく見てください。CanRead は、ストリームがデータを持っているかどうかではなく、ストリームが読み取り可能な場合にのみ通知するため、ループ状態で使用しないでください。

また、終了したらストリームを閉じる必要があります。

于 2012-04-03T21:24:21.690 に答える