目前,我收到的數據是17個字節。但是,我有兩種類型的數據,17個字節和10個字節。當我有兩種類型的數據時,如何才能使其進行處理?TCP客戶端數據接收
byte[] message = new byte[17];
int bytesRead;
while (true)
{
bytesRead = 0;
try
{
//blocks until a client sends a message
bytesRead = clientStream.Read(message, 0, 17);
}
catch
{
//a socket error has occured
break;
}
if (bytesRead == 0)
{
//the client has disconnected from the server
break;
}
我看過類似的問題,但它在C中,我無法理解。請幫助我。
您需要一個應用協議來提供消息幀。你現在假設你收到一個17字節的消息,但你可能正在讀一個10字節的消息和下一個消息的前7個字節。我們無法爲您解答。 – CodeCaster
你可以讓你的數據類型爲18和11個字節。第一個字節將是標識符。你讀一個字節,測試它的消息類型,以知道你是否必須讀取10或17個字節。然後你讀你的數據。 – Holger
@CodeCaster謝謝。將嘗試你的建議。 – active92