реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SIM300 и GPRS, Куда деваются байты?
Beginning
сообщение May 23 2008, 14:27
Сообщение #1


Знающий
****

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



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


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
VDG
сообщение May 23 2008, 16:46
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193



Цитата(Beginning @ May 23 2008, 18:27) *
При этом, если делаешь, повторный запрос, то часть шапки попадает в предыдущий

Это значит криво написан сервер.


--------------------
Go to the top of the page
 
+Quote Post
edo
сообщение May 23 2008, 16:59
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 8-08-07
Пользователь №: 29 664



это ненормально. ищте - может быть например '\r' режется где-нибудь зря
Go to the top of the page
 
+Quote Post
Beginning
сообщение May 26 2008, 06:23
Сообщение #4


Знающий
****

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



Цитата
Это значит криво написан сервер.

Сервер стандартный IIS 6.0 (Мелкософт).
Пробывал ещё на одном, написанном на Borland, те же "яйца". Отправка на модем идёт коректная, все байты доходят до COM порта, RTS смотрится, модем после ^Z возвращает SEND OK. Такое ощущение, что терется, где-то в стеке TCP или в прокси СЕТИ или ещё чёрт знает где smile3046.gif
Кто работал c TCP и GPRS, сталкивался с подобным???


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Beginning
сообщение May 27 2008, 09:44
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 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
Не помогло smile3046.gif


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Клим
сообщение May 27 2008, 10:18
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541



Цитата(Beginning @ May 27 2008, 12:44) *
Пробывал:
Transfer-Encoding: binary
Transfer-Encoding: 8bit
Не помогло smile3046.gif

А как же Content-Type: ?
По моему, при пост-запросе - обязателен.
Go to the top of the page
 
+Quote Post
Beginning
сообщение May 27 2008, 10:42
Сообщение #7


Знающий
****

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



А какой бы тип указали вы, если данные уникального типа? Без Content-Type, но при передаче только string всё работает безупречно.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Клим
сообщение May 27 2008, 11:08
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
Beginning
сообщение May 28 2008, 09:03
Сообщение #9


Знающий
****

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



Проблема решена. Всё работает как часы. Решил при помощи base64.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
west329_
сообщение May 28 2008, 09:18
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(Beginning @ May 28 2008, 12:03) *
Проблема решена. Всё работает как часы. Решил при помощи base64.

что это такое
Go to the top of the page
 
+Quote Post
Beginning
сообщение May 28 2008, 09:25
Сообщение #11


Знающий
****

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



Вообще любой поисковик выдаст миллион ссылок по этому вопроссу, ну а в кратце - это стандарт кодирования для передачи данных по интернету.

http://ru.wikipedia.org/wiki/Base64


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 03:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01431 секунд с 7
ELECTRONIX ©2004-2016