对于我当前的项目,我需要通过tcp/ip套接字连接请求XML数据。为此,我正在使用TcpClient类:.NET中的TCP/IP套接字连接
Dim client As New TcpClient()
client.Connect(server, port)
Dim stream As NetworkStream = client.GetStream()
stream.Write(request)
stream.Read(buffer, 0, buffer.length)
// Output buffer and return results...
现在,这可以正常工作,对于小反应很好。但是,当我开始接收更大的数据块时,看起来数据会以突发形式推送到套接字连接上。当发生这种情况时,stream.Read调用只会读取第一个突发,因此我错过了其他响应。
解决此问题的最佳方法是什么?最初我试图循环,直到我有一个有效的XML文档,但我发现在stream.Read调用之间,底层流有时会关闭,我会错过最后一部分数据。
这就是我所做的,但底层流在阅读之间关闭。人们如何解释这一点? – 2008-10-03 19:14:22