![]() |
|
![]() ![]() ![]() |
|
setjmp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.6.2010 Репутация: нет Всего: нет |
Помогите плиз. При таком коде почему то форма зависает:
В чем может быть проблема? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
recv блокирует работу приложения в ожидании данных. Если кусок отправляемых данных слишком мал, то ОС не торопится его отправлять в ожидании еще данных пока не заполнится буффер сокета. По истечении определенного таймаута или закрытии сокета данные таки должны отправится. Решение - отключить алгоритм нагла через TCP_NODELAY или закрывать сокет сразу после отправки сообщения. recv() блокирует также основной цикл событий Qt, поэтому форма не перерисовывается. В Qt есть свои, переносимые, классы для работы с сетью, зачем использовать виндовые, да еще и блокирующие сокеты не понятно. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |