Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ по QTcpSocket

Автор: abc 14.2.2011, 14:44

В функции связанной с readyRead() вызываю две функции, передавая им параметром QTcpSocket*, подавший сигнал. Для наглядности:
func1(client);
func2(client);

Ну, и в обоих функциях client->write(инфа);

В результате данные от второй функции приходят вместе с данными от первой. А как бы их раздельно получить? То есть чтоб клиенту прискакало два сигнала readyRead(). Можно и обойтись, но всё же

Автор: kwisp 14.2.2011, 15:23

abc,

Цитата
bool QAbstractSocket::flush ()
This function writes as much as possible from the internal write buffer to the underlying network socket, without blocking. If any data was written, this function returns true; otherwise false is returned.

Call this function if you need QAbstractSocket to start sending buffered data immediately. The number of bytes successfully written depends on the operating system. In most cases, you do not need to call this function, because QAbstractSocket will start sending data automatically once control goes back to the event loop. In the absence of an event loop, call waitForBytesWritten() instead.

See also write() and waitForBytesWritten().


из этого следует что тебе надо либо меджу двумя write вызвать flush либо QApplication::processEvents()

Автор: abc 14.2.2011, 15:37

Что-то flush() то срабатывает, то нет

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)