![]() |
|
Модераторы: feodorv |
![]()
|
|
| Damp1L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Просто создаю сокет, отправляю запрос и ответ пишу в файл. Собирал под Linux 2.6.8. Делаю такой-же запрос в Borland c++ ответ нормальный, а так ответ такой примерно:
[quote] Ґ@HTTP/1.1 404 Not Found Date: Tue, 30 Jan 2007 14:42:19 GMT Server: Apache Connection: close Content-Type: text/html (none) <!-- --> X.@фЂend [quote] Думаю тут какая-то проблема в неверном формировании, зарание спасибо. Вот код сам:
Это сообщение отредактировал(а) Damp1L - 31.1.2007, 15:45 |
|||
|
||||
| ptr |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Здесь нужно \n заменить на \r\n.
1. Интересно чему же равна длина строки? Первоначально неплохо было бы занулить buf, ну и ещё recv не дописывает заключающий ноль. 2. Не нравится мне этот цикл. Во-первых, возможно переполнение буфера. Во-вторых, а если произошла ошибка (-1)? Вообщем нехороший цикл.
А закрывать кто будет? -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
||||||
|
|||||||
| Damp1L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Да, тут есть ошибки, но не в том, просто код писался на скорую руку. Даже при этих ошибках сервер не должен давать 404 код сам посуди. /n и /r/n дают одинаковый результат, уже пробывал
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| ptr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
В данном случае эксперимент не является подтвеждение факта. "Видишь сурка? Нет. А он есть". Если ты внимательно почитаешь спецификацию HTTP, то увидишь там такое интересное сокращение <CRLF> - перевод строки. Так вот CR - "\r", LF - "\n".
Ну да ОС закроет все дескрипторы, освободит все ресурсы, в случае, когда процесс помрёт. А до этого? Правильно заданный вопрос - половина ответа. Это сообщение отредактировал(а) ptr - 31.1.2007, 12:31 -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
||||
|
|||||
| Damp1L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Такс.. всё что сказали вроде поправил, но ошабка так и идёт.. на всех серверах, почему хз =(
|
|||
|
||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Показывай код.
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| Damp1L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
поправил в первом посте =)
|
|||
|
||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
И этот код компилируется? gethostbyname возвращает указатель на hostent. И уже оттуда надо брать ip адрес хоста. А у тебя получается, что ты подключаешься не туда куда хотел. И переделай нормально цикл. -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| Damp1L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Спасиб, да ошибка оказалась там где ты показал =) Исправил =) на
Добавлено @ 20:16 И как нормально-то переделать цикл ? Попробывал, ничего на ум не приходит пока =) |
|||
|
||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Например так:
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |