Russian Qt Forum

Qt => Общие вопросы => Тема начата: dread от Март 01, 2007, 08:11



Название: 4.2.2 Задержка при передаче через сокеты
Отправлено: dread от Март 01, 2007, 08:11
Возникла проблема:
клиент -> сервер
клиент делает запрос
connectToHost()
далее получает от сервера данные
client -> write(const char, size);
но!!!!!
за частую данные не доходят до клиента - пока команда не будет выполнена еще раз - или несколько раз - и тогда клиент получает сразу все сообщения... реализованно через сигнал readyRead()

как добиться - отправил байт - тут же его получил?


Название: 4.2.2 Задержка при передаче через сокеты
Отправлено: zabivator от Март 01, 2007, 08:58
flush?


Название: 4.2.2 Задержка при передаче через сокеты
Отправлено: dread от Март 01, 2007, 10:34
Спасиб - вроде помогло... хотя пока точно сказать трудно
спасиб, что то сам не догадался попробовать...


Название: 4.2.2 Задержка при передаче через сокеты
Отправлено: zabivator от Март 01, 2007, 11:50
При любой операции чтения/вывода (файл, поток, сокет, etc) нужно помнить про буферизацию. flush в таких случаях есть стопудово, назначение как раз принудительно "реализовать" передачу буфера.