我需要传输一个不同长度的数组,其中每个元素都是两个整数的元组。举个例子:
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)
第一个是为了说明,因为我试图发送格式“hhhhs”,但无论哪种方式,路径都不能正确通过。
谢谢您的帮助。我还将研究发送一个二维整数数组,但我似乎无法弄清楚如何通过网络发送这些更“复杂”的结构。
谢谢您的帮助。