реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Qt4 QTcpSocket
vutang
сообщение Apr 17 2010, 16:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 10-12-09
Из: Томск
Пользователь №: 54 174



Добрый вечер. Можно ли с помощью QTcpSocket читать в массив или переменную типа unsigned char. В char читает, а на unsigned ругается.
Go to the top of the page
 
+Quote Post
vutang
сообщение Apr 18 2010, 06:34
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 10-12-09
Из: Томск
Пользователь №: 54 174



Не совсем точно сформулировал задачу. Имеется камера, которая по TCP/IP передает mjpeg. Нужно принять данные, записать в массив и потом отобразить в QImage. С подключением проблем нет, а вот с принимаемыми данными косяк. Нужно считывать в переменную типа unsigned char и искать FFD8 потом писать в массив пока не найдем FFD9. Так вопрос в том как мне правильно принять данные? Пробовал считывать в массив типа char (socket->read(mass,sizeof(mass))), а потом из него выбирать, но откуда-то берется куча лишних данных между FFD8 и FFD9...
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 18 2010, 08:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(vutang @ Apr 18 2010, 09:49) *
Не совсем точно сформулировал задачу. Имеется камера, которая по 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) данных. Сколько пришло, столько и отдал. Вы это контролируете?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 18 2010, 08:34
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Methane @ Apr 18 2010, 11:24) *
char (socket->read(mass,sizeof(mass))), не совсем QT.

*поправочка
Код
unsigned char buff[BUFSIZE];
char *mass=buff;
qint64 numread;

numread = socket->read(mass, sizeof(buff));
Go to the top of the page
 
+Quote Post
vutang
сообщение Apr 18 2010, 09:24
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 10-12-09
Из: Томск
Пользователь №: 54 174



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

Есть у кого-нить пример как считать jpeg в массив из интернета? Только считать так чтоб потом его собрать можно было, а не как у меня считывается куча всякого г..на.
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 18 2010, 17:54
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(_Pasha @ Apr 18 2010, 11:49) *
*поправочка
Код
unsigned char buff[BUFSIZE];
char *mass=buff;
qint64 numread;

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

Все равно не QT.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016