【发布时间】:2022-11-30 06:21:01
【问题描述】:
我是网络新手,正在尝试使用 python3 实现网络计算器,其中客户端的责任是发送操作数和运算符,服务器将计算结果并将其发送回客户端。通信是通过 UDP 消息进行的,我在客户端工作。每条消息都由一个标头和一个有效负载组成,它们的描述如下图所示。
UDP 标头:
UDP 负载:
我熟悉使用套接字发送字符串消息,但很难理解如何使用标头和有效负载制作消息以及如何为各种属性分配位或如何在标头中生成消息/客户端 ID,如果有任何自动生成 Id 的方法。任何帮助或建议将不胜感激。
提前致谢
【问题讨论】:
-
花一些时间阅读 struct.pack() 和 struct.unpack()
-
@user3435121 谢谢你的评论,我已经阅读了 struct.pack() 的编码,我看到一个整数(4 字节)可以打包和解包,我的整个头应该是 4 字节,这应该被分成5 个领域 关于如何进行的任何想法?有效载荷可以很容易地附加为它的 4* 整数,我对标题部分有点困惑
标签: python python-3.x sockets networking udp