Python-是sendto()';它的返回值是无用的吗?
在我最近的项目中,我需要使用UDP协议来传输数据。 如果我使用Python-是sendto()';它的返回值是无用的吗?,python,udp,sendto,Python,Udp,Sendto,在我最近的项目中,我需要使用UDP协议来传输数据。 如果我使用size=s.sendto(data,(,)发送数据,UDP协议会确保数据打包到一个UDP数据包中吗? 如果是这样,那么size==len(数据)是否总是True? 有什么我误解的吗 更准确地说,“sendto()”会将我的数据分割成几个较小的数据块,然后将每个数据块打包成UDP数据包进行传输吗?UDP数据包的长度是有限的。如果数据太大,返回值不能等于长度。也有一些情况,如发送缓冲区不足、网络故障。大小仅表示已发送到发送缓冲区的字节。
size=s.sendto(data,(,)
发送数据,UDP协议会确保数据打包到一个UDP数据包中吗?
如果是这样,那么size==len(数据)
是否总是True
?
有什么我误解的吗
更准确地说,“sendto()”会将我的数据分割成几个较小的数据块,然后将每个数据块打包成UDP数据包进行传输吗?UDP数据包的长度是有限的。如果数据太大,返回值不能等于长度。也有一些情况,如发送缓冲区不足、网络故障。大小仅表示已发送到发送缓冲区的字节。最后,我从“UNIX网络编程”中得到了答案, 第2.11章缓冲区大小和限制,UDP输出部分 这次,我们将套接字发送缓冲区显示为虚线框,因为它实际上并不存在。 UDP套接字有一个发送缓冲区大小(我们可以使用SO_SNDBUF套接字更改该大小) 选项,第7.5节),但这只是最大大小UDP的上限 可以写入套接字的数据报。如果应用程序写入的数据报大于 返回套接字发送缓冲区大小EMSGSIZE