![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:29 --------------------
|
|||
|
||||
REZiaMIX |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 3.11.2007 Репутация: нет Всего: 4 |
Возможно в первом буфере идет редирект.
-------------------- ![]() |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Эти строчки - не дают эффекта
hEvent = CreateEvent(0,false,true,L""); WaitForSingleObject(hEvent,2000); Какое событие взводит hEvent в просигналенное состояние? Далее: так не пишут: sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); Надо или sock = socket(AF_INET, SOCK_STREAM,IPPROTO_TCP); или sock = socket(AF_INET, SOCK_STREAM, 0); Далее recv() надо ставить в цикл до получения кода возврата 0 - признак конца отсылки всего файла с сервера. У вас он выполняется однажды - и все. Так тоже не пишут addr.sin_addr.s_addr = htonl(INADDR_ANY); этот адрес - все нули, а потому: addr.sin_addr.s_addr = (INADDR_ANY); И вообще это лишнее - далее вы заполняете поле адреса из gethostbyname() |
|||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:29 --------------------
|
|||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:30 --------------------
|
|||
|
||||
Олег2005 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
В этом и фишка - WaitForSingleObject просто выполняет роль таймаута и возвращает скорее всего WAIT_TIMEOUT
Поясните - то 1000, то вы принимаете 2720 б Далее - насчет цикла. Вы может и крутили в цикле - но проверки возврата recv() на 0 я не вижу в коде Сидеть на recv() надо до тех пор, пока не придет 0. |
||||||
|
|||||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:30 --------------------
|
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Сразу возвращяет или через некторое время? |
|||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:30 --------------------
|
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
А вы не пытались расшифровать html-код, который вы получили - эти 2720 байтов?
Суть в том, что может быть серверу что-то не нравится в вашем запросе, он отправляет вам все время один и тот же ответ, после чего просто рвет соединение? |
|||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:30 --------------------
|
|||
|
||||
Alca |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Может сервак шлет пакетами по 2720 байт. Попробуй так:
или так
Это сообщение отредактировал(а) Alca - 10.8.2009, 22:10 |
||||||
|
|||||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:31 --------------------
|
|||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:31 --------------------
|
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
врапер над ::recv |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
||||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:31 --------------------
|
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Заголовки ответа сервера как вы прочли?
Можете их воспроизвести? Это сообщение отредактировал(а) Олег2005 - 12.8.2009, 21:54 |
|||
|
||||
MenSem |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 10.7.2008 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) MenSem - 22.12.2010, 00:31 --------------------
|
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
В общем, у меня такое подозрение, что серверу что-то не нравилось - и он обрывал соединение.
Попробуйте вашу программу с другими сайтами....... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |