Dev*_*vin 5 python arrays networking unpack pack
我需要传输一个不同长度的数组,其中每个元素是两个整数的元组.举个例子:
path = [(1,1),(1,2)]
path = [(1,1),(1,2),(2,2)]
Run Code Online (Sandbox Code Playgroud)
我试图使用pack和unpack,但是,由于数组的长度不同,我不知道如何创建一个格式,使得两者都知道格式.我试图将它变成带分隔符的单个字符串,例如:
msg = 1&1~1&2~
sendMsg = pack("s",msg) or sendMsg = pack("s",str(msg))
Run Code Online (Sandbox Code Playgroud)
在接收方:
path = unpack("s",msg)
Run Code Online (Sandbox Code Playgroud)
但在这种情况下只打印1.我也试图发送4个整数,只要我不包含代表路径的额外字符串,它就会发送和接收.
sendMsg = pack("hhhh",p.direction [0],p.direction [1],p.id,p.health)
在接收方:
x,y,id,health = unpack("hhhh",msg)
Run Code Online (Sandbox Code Playgroud)
第一个是插图,因为我试图发送格式"hhhhs",但无论哪种方式路径都没有正确通过.
谢谢您的帮助.我还将研究发送一个二维数组的整数,但我似乎无法弄清楚如何在网络中发送这些更"复杂"的结构.
谢谢您的帮助.
如果您将消息长度作为消息的一部分,那么您将知道要读取多少数据。因此整个字符串应该通过网络读取。
无论如何,如果您发布一些用于通过网络发送数据的代码,或者至少提供更多描述,也许会有所帮助。
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |