2014-12-04 82 views
1

第一个小背景:我有一个聊天应用程序的想法。我不希望用户需要输入连接细节,所以我想我可以发送自定义的以太网数据包类型。该数据包被同伴接收;生成用户应用程序内每个对等的数据库。我不想过分复杂的生成我的原始数据包。发送成功接收数据包所需的最小数据量是多少?在一些最小的数据包可以用某些硬件正常传输而不是其他硬件的情况下,是否存在特殊情况?发送数据包所需的最小数据量是多少?

让我澄清一下,并且是明确的:我问什么是信息的最小量的数据包需要该包被传输,接收。可以在以太网数据包中找到的信息的例子是IP地址,硬件地址,生存时间等等。

+2

你为什么过度复杂你的生活?使用便携式协议,例如TCP – 2014-12-04 00:19:51

+0

这对我来说更多的是编程挑战。如果我想让它变得简单,我可以轻松使用现有的聊天程序或服务。 – motoku 2014-12-04 00:23:05

+1

这听起来像你正在寻找多播IP – Flexo 2014-12-05 09:10:57

回答

1

发送 成功接收数据包所需的最小数据量是多少?

如果您不打算通过互联网发送此信息,则根本不需要使用IP。 在您的局域网上,如果您喜欢,您可以通过自定义网络层获得。 也有现有的nonip协议(IPX)可能适合您的需求。 IPX的建立起来相对简单,但如果他们使用它,他们会生气。 (我也不知道Windows自从winxp以后是否支持IPX)。 这将是艰难的方式。

更简单的方法是使用UDP/IP。 UDP被设计为最小。 UDP的wiki页面会告诉你UDP数据报的标题大小。 不要忘了添加IP标头(wiki再次)和以太网帧(同上)。 最后你需要一个有效载荷。

有许多选择。它很大程度上取决于您打算使用的网络基础设施。如果你的基础设施是通过以太网的IP,那么你将会被困在那里!

做任何特殊情况存在,其中一个最小的包会妥善 发射与某些硬件,而不是其他的硬件? 如果你遵守标准:不。如果你标榜标准:很可能。

在你的后一个问题,你似乎在暗示你想使用“聪明”的技巧来减少数据包的大小(即错过了报头(S)的非关键部位),但我再说一遍:DO不要违反标准。 如果抓住你这样做,你会失去你所有的朋友,人们会非常非常失望。

+0

谢谢你。 – motoku 2014-12-16 02:36:44

+0

多播IP(当然,UDP使用)也是由柔性好的建议。这样可以节省基于对等协议的复制数据包。你所有的同伴都可以在同一个组播地址上,然后交换机将为你完成所有的工作。 – 2014-12-16 03:01:15

相关问题