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

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Третий архив вопросов и ответов (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/)
-   -   Проблема с удалением сокета (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/problema-s-udaleniem-soketa-357587/)

Guest 30.09.2011 18:31

Проблема с удалением сокета
 
Добрый вечер всем.У меня возникла следующая проблема.Создаю сервер.Новые сокеты выношу в отдельные потоки.Делаю это в общем то как принято,через дескрипторы:void socket_thread::run(){ if (!socket->setSocketDescriptor(descriptor)) { emit signalSocketError(socket->peerAddress().toString(),"error"); return; } com=new socket_coming(socket); connect(...); exec();}Класс socket_coming - мой класс,в котором я произвожу все действия с сокетом,там же есть коннект на дисконнект сокета,и в слоте,который врубается на дисконнект пишу delete socket; т.е удаляю объект сокета.При этом после нескольких(примерно 10) дисконектов прога падает.Если убрать строчку удаления все работает,но память растет,и иногда вылетает ошибкаQSocketNotifier: Multiple socket notifiers for same socket 2752 and type ReadЯ так понимаю,я не правильно удаляю сокет.В чем может быть проблема?


Часовой пояс GMT, время: 14:09.


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