![]() |
|
Модераторы: feodorv |
![]()
|
|
| Dagger |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
Странность в POST запросе. Когда объем данных небольшой - работает на "ура". Когда он побольше (4 килобайта например) - пост не обрабатывается. Не могу понять в чем дело. Кто знает - проглядите что не так, скажите пожалуйста.
Функция, которая формирует заголовки и тело:
функция URL_ENCODE
|
||||
|
|||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: 1 Всего: 5 |
Что именно не обрабатывается? Проверь может у тбя не все на сервре отправляется.
-------------------- С наилучшими пожеланиями !!! |
|||
|
||||
| Dagger |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
Вот как я его отправляю:
А вот сам запрос, который не проходит:
|
||||
|
|||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: 1 Всего: 5 |
Попробуй проверить сколько реально отправила функция SEND и сколко получила RECV.
Есть очень большая вероятность что у тебя очередной пакет затер на клиенте предыдущий. При длинне отправляемых данных 4961 это может произойти. TCP гарантирует доставку. А вот то, что твой блок данных, не будет затерт в сокете новыми блоками данных, тебе никто не гарантирует. Можно поираться с настройками сокетов setsockop/getsockop. Либо слать частями. Детали отправки частями надо смотреть в RFC на HTTP (multipartformdata - как то так пишется в формах наприер которые файлы грузят на север) Для теста можеш сам написать себе клиент-сервер и слать большие блоки данных - стопудово блоки больше 2-3 килобайт начнут глючить на клиенте. Есть еще ограничение на размер входного буфера в сокетах. Cамый верный вариант слать в несколько проходов. -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
| Dagger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 377 Регистрация: 4.9.2002 Где: Киев Репутация: нет Всего: 8 |
knave, спасибо, понял.
Как бы это не помогало, я слал даже по 128 байт (я писал сразу два варианта функции отправки - полностью весь запрос и частями, размер которых задается) - так вот, та же история. Есть подозрение, что это функции winsock выпендриваются на отправку (что-то подобное я слышал много раз), пока нет времени этим заниматься плотно, но, думаю, вскоре напишу что получилось. ВозможнО, проблема еще в компиляторе моем (lcc-win32) и особенностями его работы. |
|||
|
||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: 1 Всего: 5 |
Ааааа, у тебя еще и экзотика какая то
-------------------- С наилучшими пожеланиями !!! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |