1

Python で TCP クライアントを開発しています。私の問題は、構造をサーバーに送信したいときに発生します。メソッドを使用しstruct.pack()て送信およびstruct.unpack()受信します。TCP 経由で独自のプロトコルを使用しており、ヘッダーの長さは既にわかっていますが、もちろん、本文の長さはわかりません。本文の長さを知らずにすべてのフィールドをパックするにはどうすればよいでしょうか? 次に例を示します。

サーバーへのリクエスト:

pack('!BBBBHHII', P2P_h.version, P2P_h.ttl, P2P_h.msgType, P2P_h.reserved, P2P_h.sendPort, P2P_h.payloadLength, P2P_h.ipSrc, P2P_h.messageId)

サーバーからの応答:

queryHit = unpack ("!BBBBHHII", queryResponse)

これらの例では、ヘッダー、つまり、既に長さがわかっているフィールドだけがありますが、ボディ フィールドを追加するにはどうすればよいでしょうか?

4

1 に答える 1