Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   [Решено] Завершение соединения между клиентом и сервером. Соединение висит 2 мин (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/resheno-zavershenie-soedineniya-mezhdu-klientom-i-serverom-soedinenie-visit-2-min-357138/)

Guest 30.09.2011 18:24

[Решено] Завершение соединения между клиентом и сервером. Соединение висит 2 мин
 
Запущен QTcpServer. На каждое входящее сообщение запускается свой поток обработки QThread, в котором вызывается QTcpSocket. После окончания обмена данными QTcpSocket закрывается Код: tcpSocket->disconnectFromHost(); tcpSocket->close();и поток закрывается, связанный сигналом Код: connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));Слот срабатывает, все отрабатывается.Теперь если под виндой запустить netstat -a -o получаю вот такоеИмя Локальный адрес Внешний адрес Состояние PID...TCP comp:6090 comp:6510 TIME_WAIT 0и соединение будет еще висеть где-то 1,5 мин.Сервер работает с разными клиентами и при обмене с каждым по несколько раз в секунду, такого рода процессы накапливаются и висят, пока не отваливаются где-то через 1.5 минуты. Как сделать так чтобы этот процесс сразу же пропадал после завершения потока QThread?


Часовой пояс GMT, время: 02:35.


© www.otvetnemail.ru - Форум вопросов и ответов.