QUdpsocket отправь и получи изображение - PullRequest
0 голосов
/ 20 ноября 2011

Я хочу захватить экран ПК. Я использую QPixmap :: grab и получаю QPixmap. Затем я хочу отправить это изображение с помощью QUdpsocket. Изображение уже преобразовано в двоичный файл. Демоверсия http://www.java2s.com/Code/Cpp/Qt/Udpserver.htm может отправлять и получать изображение, но, используя пиксель, я хочу отправлять все двоичные данные каждые 250 мс.

1 Ответ

1 голос
/ 20 ноября 2011

Если вы хотите отправить все изображение за один раз, вы можете попробовать использовать QDataStream для сериализации QByteArray.

Проблема в том, что пакет UDP имеет ограниченный размер,и могут быть фрагментированы, если слишком велики, и хотя большие пакеты могут работать в вашей локальной сети, они могут быть фрагментированы через Интернет.Поскольку UDP не предоставляет гарантий упорядочения, таких как TCP, фрагменты могут прийти в неправильном порядке без заголовка QDataStream.Вероятно, поэтому в вашем связанном примере они отправляют только одну строку за раз.

Возможно, вы захотите прочитать сравнение TCP и UDP и оценить, какой из них лучше соответствует вашим потребностям.

...