QUdpsocket发送和接收图像

时间:2011-11-20 10:40:17

标签: image qt sockets send

我想抓住电脑屏幕。我使用QPixmap :: grab,我得到了一个QPixmap。然后我想使用QUdpsocket发送此图像。图像已经转换为二进制。 http://www.java2s.com/Code/Cpp/Qt/Udpserver.htm的演示可以发送和接收图像,但使用像素,我想每250ms发送所有二进制数据。

1 个答案:

答案 0 :(得分:1)

如果您想一次性发送整个图片,可以尝试使用QDataStream序列化QByteArray

这个问题是UDP数据包的大小有限,如果太大,可能会碎片化,虽然大数据包可能在你的局域网上运行,但它们可能会在互联网上碎片化。由于UDP不提供像TCP这样的排序保证,因此在没有QDataStream标头的情况下,片段可能会以错误的顺序出现。这可能就是为什么在你的链接示例中他们一次只发送一行。

您可能希望阅读TCP和UDP的比较,并评估哪种更适合您的需求。