Atheus開発まとめ
パケットフォーマット
最終更新:
atheus
-
view
パケットフォーマット
特に指定がない限り、すべてサイズに合った型の符号なし整数値で表現されます
「文字列」と説明されているフィールドは、UTF-8文字列で表現されます
「文字列」と説明されているフィールドは、UTF-8文字列で表現されます
フィールド | サイズ(byte) | 説明 |
パケット長 | 1 | この長さを含む、パケット全体の長さ |
送信者 | 8 | パケットを送信するオブジェクト |
受信者 | 8 | パケットを受信するオブジェクト |
対象者 | 8 | 受信者がパケットを対象とするオブジェクト |
アクション名長 | 1 | この長さを含まない、アクション名の長さ |
アクション名 | n | 受信者が識別できる、任意の文字列 |
(オプション) | アクションに関する任意数の追加情報 | |
オプション名長 | 1 | この長さを含まない、オプション名の長さ |
オプション名 | n | 受信者が識別できる、任意の文字列 |
オプション内容長 | 1 | この長さを含まない、オプション内容の長さ |
オプション内容 | n | 受信者が識別できる、任意の文字列 |
パケット例
パケットデータは次の通り
29 34 12 00 00 00 00 00 00 78 56 00 00 00 00 00 00 cd ab 00 00 00 00 00 00 05 68 65 6c 6c 6f 03 6b 65 79 05 76 61 6c 75 65
| [ 送信者 ] [ 受信者 ] [ 対象者 ] | [アクション名] | [オプ名] | [オプショ内容]
└[パケット長] └[アクション名長]└[オプ長さ]└[オプション内容長さ]
29 34 12 00 00 00 00 00 00 78 56 00 00 00 00 00 00 cd ab 00 00 00 00 00 00 05 68 65 6c 6c 6f 03 6b 65 79 05 76 61 6c 75 65
| [ 送信者 ] [ 受信者 ] [ 対象者 ] | [アクション名] | [オプ名] | [オプショ内容]
└[パケット長] └[アクション名長]└[オプ長さ]└[オプション内容長さ]
展開すると
フィールド | サイズ(byte) | 実際値 | 意味 |
パケット長 | 1 | 0x29 | このパケットの長さは 41 です |
送信者 | 8 | 0x1234 | オブジェクト番号 0x1234 が送信したパケットです |
受信者 | 8 | 0x5678 | オブジェクト番号 0x5678 に宛てたパケットです |
対象者 | 8 | 0xabcd | オブジェクト番号 0xabcd を対象としたパケットです |
アクション名長 | 1 | 0x05 | アクション名の長さは 5 です |
アクション名 | 5 | 0x68646c6c6f | アクション名は hello です |
(オプション) | |||
オプション名長 | 1 | 0x03 | オプション名の長さは 3 です |
オプション名 | 3 | 0x6b6579 | オプション名は key です |
オプション内容長 | 1 | 0x05 | オプション内容の長さは 5 です |
オプション内容 | 5 | 0x76616c7565 | オプション内容は value です |
(合計) | 41 |