Qt 5.7.0
Взялся помучить пример Fortune Server / Fortune Client
Сначала запускаю клиент, затем сервер, и только потом нажимаю в клиенте кнопку "Get Fortune", которая запрашивает у сервера очередную строку текста.
После нажатия кнопка становиться неактивной, пока не придёт ответ от сервера.
Проблема:
Иногда кнопка остаётся вечно неактивной, в код сервера добавил отладки (
void Server::sendFortune()):
C++ (Qt)
qDebug() << "Before write state:" << clientConnection->state();
clientConnection->write(block);
qDebug() << "After write state:" << clientConnection->state();
Если всё хорошо - печатается такое:
Before write state: QLocalSocket::ConnectedState
After write state: QLocalSocket::ConnectedState
а когда кнопка залипает - печатается такое:
Before write state: QLocalSocket::ConnectedState
QWindowsPipeWriter::write failed. (Идет закрытие канала.)
After write state: QLocalSocket::ConnectedState
Дополнение:
C++ (Qt)
clientConnection->write(block);
Записывает всегда все байты
В чём может быть дело?