各要素が2つの整数のタプルであるさまざまな長さの配列を転送する必要があります。例として:
path = [(1,1),(1,2)]
path = [(1,1),(1,2),(2,2)]
パックとアンパックを使用しようとしていますが、配列の長さがさまざまであるため、両方がフォーマットを認識できるようなフォーマットを作成する方法がわかりません。私はそれを次のような区切り文字を含む単一の文字列に変換しようとしていました。
msg = 1&1~1&2~
sendMsg = pack("s",msg) or sendMsg = pack("s",str(msg))
受信側:
path = unpack("s",msg)
ただし、この場合は1を出力するだけです。また、パスを表す余分な文字列を含めない限り、4つの整数を送信しようとしていましたが、これらは正常に送受信されます。
sendMsg = pack( "hhhh"、p.direction [0]、p.direction [1]、p.id、p.health)
受信側:
x,y,id,health = unpack("hhhh",msg)
1つ目は「hhhhs」というフォーマットを送ろうとしていたので説明用でしたが、どちらにしてもパスが正しく通っていません。
ご協力ありがとうございました。また、intの2D配列を送信することも検討しますが、これらのより「複雑な」構造をネットワーク全体に送信する方法がわからないようです。
ご協力ありがとうございました。