【发布时间】:2011-05-10 10:14:03
【问题描述】:
如果我使用原始套接字发送大小为 3000 字节的 UDP 数据包,我是否需要在代码中自己处理数据包碎片,还是应该使用原始套接字处理类似于 DGRAM 套接字的碎片?
【问题讨论】:
-
如果我没记错的话,我怀疑我是这个,你必须担心丢包等等,UDP是一种尽力而为的协议。
-
数据包(如果已接收)很好 - 但是,不能保证保留订单。显然,如果您是发送/响应/发送/响应,这不是问题,但如果您正在流式传输,则会出现问题。 UDP 的问题在于,一旦你实现了所有的内务处理,你就希望你一开始就完成了 TCP。通常,当您不担心丢失数据包时,情况并非如此。
-
你能澄清一下在这种情况下你所说的 raw 到底是什么意思吗?您是否在编写原始以太网帧、原始 IP 数据包?你在什么系统上做这个?有些系统提供某种“半-n-半”套接字...
-
我的意思是通过 IP_RAW 套接字发送 IP 数据包。
标签: c++ sockets udp fragmentation