crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Передать объект через TCP
Norrius
  опции профиля:
сообщение 24.7.2012, 16:51
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 30.12.2011
Пользователь №: 3105

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день. Я пишу небольшой проект, содержащийсервер

Добрый день. Я пишу небольшой проект, содержащий серверную и клиентскую часть. В частности, мне нужно, чтобы клиент имел копию некоторого класса, имеющегося на сервере. Собственно, вопрос - как передать объект класса через TCP сокет? Нужно ли мне вручную создавать QByteArray, содержащий закодированную информацию об объекте (а он может содержать другие классы и структуры), или есть более простые способы?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Norrius
  опции профиля:
сообщение 10.8.2012, 16:25
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 30.12.2011
Пользователь №: 3105

Спасибо сказали: 0 раз(а)




Репутация:   0  


Еще один небольшой вопрос: если когда испускается сигнал readyRead() сделать вот так:
    QDataStream stream(tcpSocket);
    stream.setVersion(QDataStream::Qt_4_8);
    stream >> some_data;

То будет ли получена из потока вся информация, которая была отправлена с другой стороны? Или только та, что уже пришла? Иначе говоря, будет ли readyRead() вызван, когда данные начинают приходить или когда заканчивают? Из нескольких мегабайт, что я пытаюсь переслать, доходит и обрабатывается только первый кусок неопределнной длины, и я не уверен, в чем тут прикол.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Norrius   Передать объект через TCP   24.7.2012, 16:51
- - ViGOur   В Qt connection points нет насколько я знаю. Нуж...   24.7.2012, 18:58
- - Алексей1153   сериализация в XML - универсальное в данном случае...   24.7.2012, 19:41
- - Norrius   Использовать memcpy() у меня не получается (хотя, ...   24.7.2012, 23:16
- - ViGOur   сервер memcpy(buff, &tmp, sizeof(p...   25.7.2012, 8:46
- - Iron Bug   процедура передачи класса - даже не сериализация, ...   25.7.2012, 12:42
- - Алексей1153   Цитата(Norrius @ 25.7.2012, 2:16) е будет...   25.7.2012, 22:44
- - ssoft   Цитата(ViGOur @ 25.7.2012, 9:46) сервер m...   26.7.2012, 6:52
- - ViGOur   Цитата(ssoft @ 26.7.2012, 7:52) Это работ...   26.7.2012, 8:24
- - Алексей1153   Цитата(ssoft @ 26.7.2012, 9:52) Если клас...   26.7.2012, 10:41
- - Norrius   Спасибо всем за ответы, буду изучать сериализацию ...   26.7.2012, 13:50
- - Norrius   Хм, похоже, был откат форума. Что ж, нужно все-так...   8.8.2012, 14:44
- - ViGOur   Угумс, снова посыпалась БД.   8.8.2012, 14:50
- - Norrius   Еще один небольшой вопрос: если когда испускается ...   10.8.2012, 16:25
- - iReset   Цитата(Norrius @ 10.8.2012, 17:25) ...буд...   10.8.2012, 17:10
|- - Norrius   Цитата(iReset @ 10.8.2012, 18:10) Информа...   10.8.2012, 17:33
- - Norrius   Спасибо, вроде бы получилось.   10.8.2012, 19:21


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 19.4.2024, 13:03