Ruby経由でサーバーにUDPリクエストを実行します。サーバーの応答は混合コンテンツです。つまり、文字列や数字などを取得します。応答の解釈方法は知っていますが、文字列の長さが異なる可能性があるため、問題が発生しています。すべての文字列はゼロで終了します。
文字列は次のようになります。
[84, 104, 101, 32, 83, 116, 114, 101, 97, 109, 33, 32, 50, 52, 47, 55,
32, 66, 97, 100, 119, 97, 116, 101, 114, 32, 91, 65, 108, 108, 116,
97, 108, 107, 93, 0]
これはUTF8でエンコードされており、の略ですThe Stream! 24/7 Badwater [Alltalk]
。
すでに述べたように、応答には、上記のような単一の文字列だけでなく、より多くのバイトがあります。すべての固定長コンテンツは、で簡単にフェッチできますがstring.unpack
、文字列を抽出する方法はわかりません。バイトストリームを手動で解析する必要がありますか、それとも引き続き使用できる方法がありますstring.unpack
か?
編集:
全体の応答は次のようになります:http://paste.org/59395
プロトコルの詳細:http ://tinyurl.com/bvyepsl