【发布时间】:2012-03-29 17:13:42
【问题描述】:
我已连接到要通过套接字查询的设备。我可以毫无问题地发送命令,但是当我尝试取回数据时,它会分部分发送给我,这样我就不会一次真正地得到整个消息。我采用了多次尝试捕获序列来尝试连续获取不同的部分,但我最终得到了最后一个块。我认为存在时间问题,但不确定,代码完成后文本框不显示任何文本,我认为它们至少应该显示收到的部分内容。任何建议将不胜感激
Byte[] Backdata = new byte[64]; //also tried 32, 16, 64
MoxaClient = new TcpClient();
MoxaClient.Connect(NportAddress, NportPort);
datastream = MoxaClient.GetStream();
datastream.Write(SCPIcommands, 0, SCPIcommands.Length);
//Function to wait for all responses
try
{
datastream.Read(Backdata, 0, Backdata.Length);
textBox1.Text += Convert.ToChar(Backdata.ToString());
}
catch
{}
try
{
datastream.Read(Backdata, 4, Backdata.Length);
textBox1.Text += Convert.ToChar(Backdata.ToString());
}
catch{}
【问题讨论】:
标签: c# sockets tcp buffer tcpclient