|
|
  |
SIM300 и GPRS, Куда деваются байты? |
|
|
|
May 23 2008, 14:27
|

Знающий
   
Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053

|
Отправляю по GPRS даные. Стандартный POST запрос в формате http. Так вот, примерно в среднем, каждая 10 посылка не доходит полностью, то 4 байта потеряются, то 30. Теряются байты в теле данных, шапка целая. Связь отличная. При этом сервер не дополучивает данные, а т.к. conten length = x, то ждёт эти x байт. При этом, если делаешь, повторный запрос, то часть шапки попадает в предыдущий (т.е. забирает то количество данных, что бы соответствовать) conten length, короче получается ”шляпа”. Самое интересное, что данные от сервера всегда приходят небитые. Отсюда вопрос – ЭТО НОРМАЛЬНО??? Соединяюсь по TCP, а он вроде как должен гарантированную доставку делать.
--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
|
|
|
|
|
May 26 2008, 06:23
|

Знающий
   
Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053

|
Цитата Это значит криво написан сервер. Сервер стандартный IIS 6.0 (Мелкософт). Пробывал ещё на одном, написанном на Borland, те же "яйца". Отправка на модем идёт коректная, все байты доходят до COM порта, RTS смотрится, модем после ^Z возвращает SEND OK. Такое ощущение, что терется, где-то в стеке TCP или в прокси СЕТИ или ещё чёрт знает где Кто работал c TCP и GPRS, сталкивался с подобным???
--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
|
|
|
|
|
May 27 2008, 09:44
|

Знающий
   
Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053

|
Помойму разобрался где грабли зарыты, но не могу их пока решить. Короче, на сервак отправляю следующее: POST /gprs/default.aspx HTTP/1.1 Host: 12.34.56.78 Content-Length: 40 Тра-ля-ля. Где "Тра-ля-ля." специальные данные которыу могут содержать обсалютно любые символы. Но покапав инет, понял, что можно передовать не любые символы. Отсюда видемо и трабл. На сочетании каких-то символов сервер глючит. Отсюда вопрос: Что мне ещё добавить в запрос, что бы побороть проблему всеядности символов? Пробывал: Transfer-Encoding: binary Transfer-Encoding: 8bit Не помогло
--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
|
|
|
|
|
May 27 2008, 10:18
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(Beginning @ May 27 2008, 12:44)  Пробывал: Transfer-Encoding: binary Transfer-Encoding: 8bit Не помогло  А как же Content-Type: ? По моему, при пост-запросе - обязателен.
|
|
|
|
|
May 27 2008, 11:08
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(Beginning @ May 27 2008, 13:42)  А какой бы тип указали вы, если данные уникального типа? Без Content-Type, но при передаче только string всё работает безупречно. Ну если вы сами пишете сервер - то ту как напишете, так и будет. Тогда можно вообще отойти от HTTP и POST, а использовать какой-нить свой простой протокол. А вот если использовать стандартные сервера, то напо делать все по честному. Например, при отправке формы (а там передается просто строка в виде var=value&var2=value2...) Используется Content-Type: application/x-www-form-urlencoded
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|