我需要使用udp发送和接收非常大的数据.不幸的是,udp每个图提供8192个字节,因此需要将数据分成更小的部分.我正在使用Qt和QUdpSocket
.有一个QByteArray
的921600与长我想发送给客户端.我想每次发送8192个字节.
拆分的快捷方式是QByteArray
什么?
您永远不需要显式拆分数据,一次只需8 KB.通常,将数据写入套接字的函数(包括QUdpSocket::writeDatagram
,似乎)接受指向第一个字节和字节计数的指针,因此您只需提供指向数组的指针即可.
请注意,发送8 KB数据报非常激进; 它们很可能在IP层碎片化,这会对传送速度和可靠性产生负面影响.
研究"路径MTU " 的概念,并尝试将其用于发送,它可能会更快,尽管它会产生更多的数据报.