着信 UDP パケットをリッスンするアプリケーションを作成しています。さまざまな種類のパケットを受信する可能性があります。たとえば、パケットは次のように定義できます。
パッケージ A: | 整数 | 文字 b | 整数 c |
パッケージ B: | short int d | int e | char f |
など。
私の質問は、複数の種類のメッセージを受信していることを考えると、送信されているものと読んでいるものを調整するための良い方法は何ですか?
私が見たように、「ヘッダー」を各メッセージの先頭に追加してそのタイプを定義するか、メッセージの長さを読み取って、各パケットのサイズがわかっている場合は、リストしたものと比較することができます。
また、後者がオプションである場合、パケットは毎回期待される長さであることが保証されていますか?
編集:
また、同じ長さのメッセージ タイプが複数存在する可能性があるため、パケット長を使用するだけで問題が発生する可能性があることもわかります。