UDP Python 到 C - 打包二进制数据 - struct.pack('<ff

0 投票
2 回答
1067 浏览
提问于 2025-04-17 15:01

客户端(python):

theta = math.sin(23/3) / 300
y = math.cos(23/11) / 20
data=struct.pack('<ff',theta,y) # pack with two float
s.sendto(data, (ip, 50000))

服务器端(python):

 daten, addr = s.recvfrom(1024) #
 d=struct.unpack('<ff',daten)
 print ("[%s] %s" % (d[0],d[1])) 

--> 可以正常工作

我怎么才能用C语言写一个客户端呢?这个在C语言中(数据=结构打包('

客户端(C语言):

 ??  

2 个回答

0

我找到了解决办法:

float value[2];
value[0]=1.22;
value[1]=-2.22;
...
sendto(s,value,sizeof(value),....)

谢谢

0

这段代码在C语言中应该是等价的

struct {
  float d[2];
};

(假设使用的是小端格式的主机)。

撰写回答