Название: Крашится программа ,в чем ошибка? Отправлено: Trademaster от Октябрь 19, 2013, 00:00 Всем привет. И так.
Есть цикл : Код: for(int i = 0; i < id; i++) Если они отмечены ,то посылает на сервер данные. Так вот. Предположим есть 5 чекбокосв ,из них 2 отмечены. Он почему то выполняет цикл один раз и программа крашится. В чем может быть причина? Любую доп. информацию предоставлю ,заранее спасибо за помощь. Название: Re: Крашится программа ,в чем ошибка? Отправлено: mutineer от Октябрь 19, 2013, 00:09 дебаггером смотрел где падает и как?
Если хочешь использовать сокет в синхронной манере, то стоит использовать waitForConnected, waitForBytesWritten... Название: Re: Крашится программа ,в чем ошибка? Отправлено: Alex Custov от Октябрь 19, 2013, 00:09 1) Покажи код заполнения этого map-a. 2) "const QString &mess = editMessage->toPlainText();" - объясни зачем тут & 3) сокет работает не в синхронном режиме
Название: Re: Крашится программа ,в чем ошибка? Отправлено: Trademaster от Октябрь 19, 2013, 00:25 1) Покажи код заполнения этого map-a. 2) "const QString &mess = editMessage->toPlainText();" - объясни зачем тут & 3) сокет работает не в синхронном режиме Код: void MainWindow::addIp() Изначально id = 0 Что такое синхронный режим сокета? Название: Re: Крашится программа ,в чем ошибка? Отправлено: schmidt от Октябрь 19, 2013, 12:48 Цитировать Он почему то выполняет цикл один раз и программа крашится. В чем может быть причина? Руки? ;)Работа с удаленным сервером в отличие от локального файла происходит не мгновенно, поэтому нельзя писать так: Код: socket->connect(); Ибо на установку соединения необходимо время. Писать в сокет, который еще не соединен с сервером, очевидно, бессмысленно. Делайте так: Цитировать 1. socket->connect() 2. <Ожидание готовности сокета...> 3. socket->write() 4. <Ожидание, пока данные будут записаны/отправлены...> 5. Закрытие сокета Для того, чтобы определить в каком месте программа рушится, запускайте ее под отладчиком. В этом случае она как минимум выдаст сообщение об ошибке и остановится в отладчике, а не просто вылетит. Название: Re: Крашится программа ,в чем ошибка? Отправлено: Trademaster от Октябрь 20, 2013, 03:08 Почти в точку :) Я пытаюсь приконектить уже приконекченный сокет.
Вот ошибка : QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "localhost" Но вот как это исправить я так и не понял :( Название: Re: Крашится программа ,в чем ошибка? Отправлено: mutineer от Октябрь 20, 2013, 11:41 Вставь waitForConnected и waitForBytesWritten
|