Atheus開発まとめ パケットフォーマット
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

パケットフォーマット


特に指定がない限り、すべてサイズに合った型の符号なし整数値で表現されます
「文字列」と説明されているフィールドは、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
| [    送信者    ] [    受信者    ] [    対象者    ] | [アクション名] | [オプ名] | [オプショ内容]
└[パケット長]                               └[アクション名長]└[オプ長さ]└[オプション内容長さ]

展開すると
フィールド サイズ(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