現在、17バイトのデータを受信しています。しかし、私は17バイトと10バイトの2種類のデータを持っています。 2種類のデータがある場合、どうすれば処理できますか?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バイトにすることができます。最初のバイトは識別コードになります。あなたは1バイトを読んで、あなたのメッセージタイプをテストして、10バイトか17バイトを読まなければならないかどうかを知る。それからあなたはあなたのデータバイトを読みます。 – Holger
@コードキャスターありがとうございます。あなたの提案をお試しになります。 – active92