| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Сетевые технологии > Остановка клиента TCP по таймауту. |
| Автор: OlegIT 29.11.2016, 16:42 |
| Не уверен, что правильно выбрал раздел. Проблема такая. Отлаживаю стык между модулем на ARM и программой на PC с библиотекой Qt. Связь по изернет, TCP-IP. На ARM-е сервер на PC клиент. Когда я останавливаю сервер для отладки, посмотреть, подумать, клиент на PC разрывает связь по таймауту. Как «сказать» клиенту, что разрывать связь не нужно, жди вечно? |
| Автор: CompWorm 1.12.2016, 05:32 |
| клиентский код фстудию! на вскидку - у тебя клиент с блокирующим сокетом, который тупо закрывается по таймауту, типа socket = new QTcpSocket(this) ... if(!socket->waitForReadyRead(1000)) // default is 30000 socket->close(); убедить клиента не закрывать сокет в таком случае не выйдет. если кода клиента нет - отлаживайся логами. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Ostanovka-kliyenta-TCP-po-taymautu-id583d865eb4c92c634639b4f2#findElement_E7045_583f8ba30ef42f15c526cdb0_0 |
| Автор: OlegIT 1.12.2016, 14:53 | ||
Явного
в коде нет, там слот вызывается из библиотеки когда приходят данные. Ответа от сервера долго нет и аля-улю, закроюсь сам. |
| Автор: kapbepucm 8.12.2016, 12:50 |
| как вы это определяете? |
| Автор: OlegIT 14.12.2016, 15:24 |
Слот закрытия соединения вызывается. |