1
我連接到我想通過套接字查詢的設備。我可以發送命令沒有問題,但是當我嘗試獲取數據時,它會將它發回給我,這樣我就不會馬上收到整條消息。我採用了多次嘗試抓取的順序來嘗試連續獲取不同的部分,但我最後只用了最後一個部分。我認爲有一個時間問題,但不確定,而且,當代碼完成時,文本框不顯示任何文本,我認爲他們至少應該顯示接收到的內容的一部分。任何建議將不勝感激如何用C#中的TCP Client讀取整個輸入緩衝區?
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{}