Перейти к содержанию
    

Qt4 QTcpSocket

Добрый вечер. Можно ли с помощью QTcpSocket читать в массив или переменную типа unsigned char. В char читает, а на unsigned ругается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем точно сформулировал задачу. Имеется камера, которая по TCP/IP передает mjpeg. Нужно принять данные, записать в массив и потом отобразить в QImage. С подключением проблем нет, а вот с принимаемыми данными косяк. Нужно считывать в переменную типа unsigned char и искать FFD8 потом писать в массив пока не найдем FFD9. Так вопрос в том как мне правильно принять данные? Пробовал считывать в массив типа char (socket->read(mass,sizeof(mass))), а потом из него выбирать, но откуда-то берется куча лишних данных между FFD8 и FFD9...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем точно сформулировал задачу. Имеется камера, которая по TCP/IP передает mjpeg. Нужно принять данные, записать в массив и потом отобразить в QImage. С подключением проблем нет, а вот с принимаемыми данными косяк. Нужно считывать в переменную типа unsigned char и искать FFD8 потом писать в массив пока не найдем FFD9. Так вопрос в том как мне правильно принять данные? Пробовал считывать в массив типа char (socket->read(mass,sizeof(mass))), а потом из него выбирать, но откуда-то берется куча лишних данных между FFD8 и FFD9...

char (socket->read(mass,sizeof(mass))), не совсем QT. А что не получается? Просто данные читать с TCP/IP получается? С read есть фишка, в том, что он совсем не обязан отдать sizeof(mass) данных. Сколько пришло, столько и отдал. Вы это контролируете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

char (socket->read(mass,sizeof(mass))), не совсем QT.

*поправочка

unsigned char buff[BUFSIZE];
char *mass=buff;
qint64 numread;

numread = socket->read(mass, sizeof(buff));

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:182: error: invalid conversion from 'unsigned char*' to 'char*'

 

Есть у кого-нить пример как считать jpeg в массив из интернета? Только считать так чтоб потом его собрать можно было, а не как у меня считывается куча всякого г..на.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

*поправочка

unsigned char buff[BUFSIZE];
char *mass=buff;
qint64 numread;

numread = socket->read(mass, sizeof(buff));

Все равно не QT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...