【发布时间】:2016-08-13 18:35:01
【问题描述】:
我在 PyQT(UDP 客户端)中有一个应用程序,它通过 UDP/IP 将一些参数发送到 raspberry(UDP 服务器)上的应用程序。
此 Qt 应用程序有多个字段,如 PID 参数、电机速度、传感器预设等。
实际上,UDP 客户端通过从 QT 应用程序中的每个字段获取值并将数据附加到带有分隔符 (',') 的字符串中来发送一个字符串,始终以相同的顺序。例如,“142.0、10.0、2.0、负数、正数”。
UDP 服务器接收到此消息,拆分消息并将列表中的每一项移动到相应的变量中。
它可以工作,但它并不聪明,所有参数都被发送,即使一个参数没有改变。
什么应该是只发送特定参数而不依赖于正确顺序的聪明方法?还是只有改变的?
也许一些封装在 UDP 消息上的协议?
【问题讨论】:
-
这个问题感觉不太适合这个论坛。您可能会收到仅由意见支持的答复,每个答复都同样有效。话虽如此,我会使用 JSON,所以我的消息看起来像
{'x':142,'y':10,'attitude':negative','outlook':'positive'} -
@Robᵩ 单引号字符串是不是标准 JSON。一些解码器允许它们,但这并不意味着你应该故意提倡生成这样的 JSON 输出。您的消息示例应为
{"x":142,"y":10,"attitude":"negative","outlook":"positive"}。 -
@KubaOber - 你是对的。谢谢。
标签: python qt sockets udp protocols