プロトコルとAI

プロトコル・バイナリ形式ツール

バイナリやワイヤープロトコルは設計上構造を隠しています。想定外のwire typeを持つProtobufメッセージ、閉じないWebSocketフレーム、黙って取りこぼすMQTTのサブスクリプション。生のバイトを見る必要が出てきたとき、これらのツールはデータをバイトレベルまでデコードし境界と型を直接示します。

Protobuf wire・varintツールはバイトオフセット単位か.protoファイルでデコードでき、CBORデコーダーとMessagePackデコーダは型を保ってデコードします。WebSocketフレーム解析はヘッダー単位で確認し、Redis RESP解析は型ごとに分解し、MQTTトピックマッチングはどのトピックが一致するかを示します。

14個のツール

Protocols & Binary Serializationツールに関するFAQ

.protoファイルなしでProtobufメッセージをデコードするにはどうすればいいですか。

Protobufのワイヤー形式はスキーマがなくてもフィールド番号とwire typeまでは公開されており、フィールド名だけが分かりません。Protobuf wire・varintツールは.protoファイルが無いときはバイトオフセット単位でワイヤー形式のメッセージをデコードし、ある場合はそれを使って解析します。

MQTTのサブスクリプションが本来一致するはずのメッセージを受け取らないのはなぜですか。

MQTTのトピックフィルターは+と#のワイルドカードに細かい一致規則があり、正しく見えるフィルターでも階層が1つ多い、あるいは足りないトピックには一致しないことがあります。MQTTトピックマッチングはサブスクリプションのフィルターを実際のトピックに対してテストし、どれが一致するかを正確に示します。

CBORとMessagePackの違いは何ですか。

どちらもJSONに代わるコンパクトなバイナリ形式で型システムも似ていますが、バイト単位のエンコード方式が異なり、CBORはMessagePackにはない拡張タグを持つIETF標準です。CBORデコーダーとMessagePackデコーダはそれぞれの形式を元のバイナリの型を保ったままデコードします。