C语言 发送数据包所需的最小数据量是多少



首先介绍一下背景:我有一个聊天应用程序的想法。我不希望用户需要输入连接详细信息,所以我想我可以发送自定义以太网数据包类型。该数据包由对等方接收;生成用户应用程序中每个对等方的数据库。我不想使生成原始数据包过于复杂。发送成功接收的数据包所需的最小数据量是多少?是否存在任何特殊情况,其中最小数据包将使用某些硬件而不是其他硬件正确传输?

让我澄清一下,并明确一点:我问的是数据包中传输和接收该数据包所需的最小信息量是多少。可以在以太网数据包中找到的信息示例是 IP 地址、硬件地址、生存时间等。

发送 成功接收数据包?

如果您不打算通过互联网发送它,则根本不需要使用IP。在您的 LAN 上,如果您愿意,您可以使用自定义网络层。还有现有的非IP协议(IPX(,可能适合您的需求。IPX的设置相对简单,但如果人们发现你在使用它,他们会对你生气。(我也不知道Windows是否支持IPX,因为winxp(。那将是艰难的方式。

更简单的方法是使用 UDP/IP。UDP 被设计为最小值。UDP 的 wiki 页面将告诉您 UDP 数据报的标头大小。不要忘记添加IP标头(再次维基(和以太网框架(同上(。最后,您需要一个有效载荷。

有很多很多选择。这在很大程度上取决于您打算使用的网络基础设施。如果您的基础设施是以太网IP上的IP,那么您将陷入困境!

是否存在任何特殊情况,其中最小数据包将 使用某些硬件而不是其他硬件正确传输? 如果您遵守标准:否。如果你炫耀标准:很可能。

在后一个问题中,您似乎暗示您想使用"聪明"的技巧来最小化数据包大小(即,错过标头的非关键部分(,但我再说一遍: 不要违背标准。人们会对你非常非常失望,如果你抓住你这样做,你会失去所有的朋友。

最新更新