J'ai une configuration de connexion tcpclient capturant un flux http continu. Pour une raison quelconque, après la lecture des premiers octets, le flux n'obtient aucune donnée pendant longtemps. Y a-t-il un problème avec mon code?tcpclient getstream - zéro octet lu
Dim tclient As TcpClient = New TcpClient(url, "80")
nstream = tclient.GetStream()
If nstream.CanRead Then
defaultsize = 8000, BUFFER_SIZE = 1024
Dim bufferread(defaultSize) As Byte
Dim data As String
mstring = New StringBuilder
numbytesread = 0
Dim timestamp As DateTime = DateTime.Now
Do
numbytesread = nstream.Read(bufferread, 0, BUFFER_SIZE)
If numbytesread > 1 Then
timestamp = DateTime.Now
data = Encoding.UTF8.GetString(bufferread, 0, numbytesread)
parsingUtilities.appendXMLtoFile(data)
End If
If DateTime.Now.Subtract(timestamp).TotalSeconds > 60 Then
'timestamp shows no bytesread for more than 60 seconds, then reconnect
Exit Sub
End If
Loop While tclient.Connected
End If
Merci pour votre réponse. Je ne savais pas comment capturer le flux et pris conseil d'un autre prgmmer..mais je vais regarder soit en utilisant streamreader ou le décodeur ..Oh oui je me souviens maintenant pourquoi j'ai utilisé le réseau, je ne pouvais pas lire à partir d'un tcpclient.getstream en utilisant un streamreader.What exactement voulez-vous dire par le flux bloquant indéfiniment et le timeout de lecture .. Je pensais que si je ne reçois rien dans le flux pendant plus d'une minute, j'ai besoin de se reconnecter. – vbNewbie