Udp Recvfrom()返回值
我正在使用UDP数据包,我想澄清一些问题:Udp Recvfrom()返回值,udp,mtu,Udp,Mtu,我正在使用UDP数据包,我想澄清一些问题: 1.“recvfrom”具体返回什么?我的意思是,如果我发送一个大小为450字节+20字节IP头+8字节UDP头的数据包,recvfrom会返回478字节作为一个整体,或者可能会有类似这样的结果: 它接收到10字节、300字节、100字节、68字节? 2.“recvfrom”的返回值是否与数据包碎片有关 注: *我在谈论“recvfrom”成功的假设 *我选择450字节以确保Im小于最小MTU 对于UDP套接字,recvfrom()读取UDP数据。所以
1.“recvfrom”具体返回什么?我的意思是,如果我发送一个大小为450字节+20字节IP头+8字节UDP头的数据包,recvfrom会返回478字节作为一个整体,或者可能会有类似这样的结果:
它接收到10字节、300字节、100字节、68字节?
2.“recvfrom”的返回值是否与数据包碎片有关 注:
*我在谈论“recvfrom”成功的假设
*我选择450字节以确保Im小于最小MTU
假设我提供了足够大的缓冲区,唯一可能的返回值是450,对吗?是的,或者如果发生错误,返回-1。由于它是UDP,您可能根本不会收到数据包,但非常感谢,这一直困扰着我,因为我需要使用UDP数据包实现类似tcp的功能