サーバーとクライアントの間で通信する方法を設定しています。私が現在どのように作業しているのかというと、ストリームの最初のバイトには何が来るのかを示すインジケーターが含まれ、そのリクエストのクラスを検索すると、リクエストの長さを判断できます。
stream.Read(message, 0, 1)
if(message == <byte representation of a known class>)
{
stream.Read(message, 0, Class.RequestSize);
}
クラスサイズが不明な場合、既知のリクエストを読み取った後にデータが破損している場合の処理方法に興味があります。
ある種の区切り文字をストリームに挿入できると思っていますが、1バイトは0〜255の間しかないため、一意の区切り文字を作成する方法がわかりません。メッセージの終わりを表すパターンをストリームに配置しますか?このパターンが実際のデータと間違えられないように十分に一意であることをどのように確認できますか?