如果我使用原始套接字发送大小为3000字节的UDP数据包,我是否需要在代码中自己处理数据包碎片,或者原始套接字是否应该处理类似于DGRAM套接字的碎片?
好吧,如果您使用的是UDP,那么您并没有真正发送RAW.RAW根本就不是IP,在这种情况下,你必须自己处理碎片.
使用UDP,您可以获得IP的碎片支持,这对于短距离网络来说,IMHO足够好,冲突应该是最小的.使两个系统之间的链接成为专用子网,这根本不是问题.
TCP通过UDP(以及其他东西)购买的是堆栈能够重新发送一个片段(如果它丢失或以某种方式被冲洗).如果发生这种情况,则必须丢弃整个消息.虽然有这样的开销,但对于大多数现代网络来说,你可能会接受这种权衡.