1
1バイト値、2バイト値、1バイト値、文字列など、複数のサイズのデータをバインドしたい。 これは、単純なチャットクライアントによって送信されるパケットです。Cのデータ型をPythonに変換する
作成したいネットワークパケットは図の中にあります。 bodyに続いて合計4バイトのヘッダー。
どうすればこのパケットをPythonで作成できますか?
明示的にサイズを定義してデータを保存するソリューションはありますか?
ありがとうございます! しかし、どのようにパックのメンバーのサイズを定義できますか? 特に、私はボディサイズに2バイトの値を格納したい –
私がリンクしている 'struct'のドキュメントを参照してください([ここにテーブルに直接ジャンプしてください](https://docs.python.org/2/library/struct .html#format-characters))。 'pack'に与えられた文字列の文字がサイズを指定します。 'c'は1バイトを意味し、' h'は短い整数を意味し、短い整数はPythonの定義によって2バイトです。 's'は文字列を意味します。 –
文字列 '!chcs'は文字通り次のようになります:"ネットワークバイトオーダーの次のパラメータをサイズが1バイト、2バイト、1バイト、および文字列の配列に入れる "。 'clientID'、' networkMessageId'などの名前を作ったので、あなたが送るデータでそれらを置き換えなければならないことに注意してください。 –