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

 
 
 
Reply to this topicStart new topic
> SIM300D, присловутый tcp/ip стек
megaboy
сообщение Sep 24 2009, 10:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 30-10-07
Пользователь №: 31 885



Здравствуйте, уважаемый all
Возвращаюсь к теме использования встренного в модуль стека. Наступил еще на одни, непонятного происхождения грабли,
пока что в полной задумчивости по поводу адекватного решения проблемы...
Суть такова.
Имеем
SIMCOM_SIM300D
Revision:1008B14SIM300D32_SST34HF3284

После установки коннетка с сервером, делаю переодическую проверку статуса соединения для контроля последнего, период - 60 сек.

AT+CIPSTATUS
OK
STATE: CONNECT OK

В обычном режиме команды отсылает сервер примерно раз в 5 мин.
Заметил вот что, если сервер корректно завершил сеанс связи по каким то причинам, то всегда получаю CLOSED
либо ближайшая проверка статуса дает нужный ответ.
НО! Если произошел аварийный обрыв, например, пропал наземный инет или просто выдернули шнур от системника сервера,
модем как ни в чем не бывало выдает ответ

AT+CIPSTATUS
OK
STATE: CONNECT OK

Причем на испынаниях, он выдвал их всю ночь, хотя реальный обрыв был в полночь. Т.е. получается, что проверки статуса
уже не достаточно, чтоб определить наличие tcp соединения?
TCP ведь по идее должен обеспечивать переодические проверки связи, значит делаем вывод, что это глюкавый стек модема?
И как можно бороться с данной ситуацией, разве только принудительно команды пулять серверу, типа пинги, и ждать ответ?

Сообщение отредактировал megaboy - Sep 24 2009, 10:24
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Sep 24 2009, 12:25
Сообщение #2


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Он скорее не глюкавый, а ограниченый, хотя и глюкавый тоже smile.gif.
Нужно периодически делать keepalive пакеты, доставка данных только с подтверждением. Может, simcom трафик экономит wink.gif
Пресловутый пишется через "е".
Go to the top of the page
 
+Quote Post
=F8=
сообщение Sep 24 2009, 12:27
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Обсуждали уже. Если хотите быть уверенны, что соединение живо то либо попытайтесь что-то по нему передать, либо периодически переустанавливайте соединение.
ЗЫ Это вообще-то не глюк стека, просто нереализованная функция.
Go to the top of the page
 
+Quote Post
megaboy
сообщение Sep 28 2009, 08:28
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 30-10-07
Пользователь №: 31 885



Получается, что использовать команду AT+CIPSTATUS для статуса соединения нет никакого смысла?
Go to the top of the page
 
+Quote Post
Baser
сообщение Sep 28 2009, 19:42
Сообщение #5


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(megaboy @ Sep 28 2009, 11:28) *
Получается, что использовать команду AT+CIPSTATUS для статуса соединения нет никакого смысла?

Ну почему же? Смысл есть. Как первый шаг процедуры контроля. Ответ CONNECT OK говорит о том, что когда-то связь была, и (может быть не исключено smile.gif ) при новой посылке данных, они доберутся до сервера. При другом ответе можно не тратить время и сразу начинать переустанавливать соединение.

По крайней мере, я делаю именно так...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:54
Рейтинг@Mail.ru


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