次のコードは、サイズが不明なデータをメモリ ストリームに読み込みます。
Dim cl As New Net.Sockets.TcpClient()
cl.Connect(host, port)
Dim st As IO.Stream = cl.GetStream()
Dim bytes(50000) As Byte
Dim mem As New IO.MemoryStream()
Dim len As Integer = 0
Do
len = st.Read(bytes, 0, 50000)
mem.Write(bytes, 0, len)
Loop While len > 0
mem.Close()
正常に動作しますが、唯一の問題は、最後の読み取りが常に 20 秒間ブロックされてから 0 が返されることです。これは何らかのタイムアウトであると想定しています。それを短縮または排除する方法はありますか?