crossplatform.ru

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

fluffyMan2000
  опции профиля:
сообщение 31.10.2013, 18:25
Сообщение #1


Студент
*

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

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




Репутация:   0  


Добрый день.

Я новичек в сетевом программировании, но все же.

Пишу клиент-серверную систему. Есть qt клиент и qt сервер. Клиент отправляет запрос (json), сервер обрабатывает запрос и генерирует json ответ.

На стороне сервера отправка данных реализована через метод socket-> write(data), где data - это строка.

На стороне клиента при получении данных вызывается метод slotReadyRead(), подключенный к сигналу readyRead().

Данные считываются методом socket->readAll().

Но вот проблема, когда сервер передаёт небольшую строку, то клиент принимает ее полностью. Если большую строку (большой Джейсон), то строка передаётся частями. То есть один вызов сигнала readyRead не означает получение ПОЛНОГО сообщения от сервера, насколько я понимаю. Отсюда вопрос, как за один раз передать ВСЮ БОЛЬШУЮ строку?

Сообщение отредактировал fluffyMan2000 - 31.10.2013, 18:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.7.2025, 23:55