Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM300D, присловутый tcp/ip стек
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
megaboy
Здравствуйте, уважаемый all
Возвращаюсь к теме использования встренного в модуль стека. Наступил еще на одни, непонятного происхождения грабли,
пока что в полной задумчивости по поводу адекватного решения проблемы...
Суть такова.
Имеем
SIMCOM_SIM300D
Revision:1008B14SIM300D32_SST34HF3284

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

AT+CIPSTATUS
OK
STATE: CONNECT OK

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

AT+CIPSTATUS
OK
STATE: CONNECT OK

Причем на испынаниях, он выдвал их всю ночь, хотя реальный обрыв был в полночь. Т.е. получается, что проверки статуса
уже не достаточно, чтоб определить наличие tcp соединения?
TCP ведь по идее должен обеспечивать переодические проверки связи, значит делаем вывод, что это глюкавый стек модема?
И как можно бороться с данной ситуацией, разве только принудительно команды пулять серверу, типа пинги, и ждать ответ?
HARMHARM
Он скорее не глюкавый, а ограниченый, хотя и глюкавый тоже smile.gif.
Нужно периодически делать keepalive пакеты, доставка данных только с подтверждением. Может, simcom трафик экономит wink.gif
Пресловутый пишется через "е".
=F8=
Обсуждали уже. Если хотите быть уверенны, что соединение живо то либо попытайтесь что-то по нему передать, либо периодически переустанавливайте соединение.
ЗЫ Это вообще-то не глюк стека, просто нереализованная функция.
megaboy
Получается, что использовать команду AT+CIPSTATUS для статуса соединения нет никакого смысла?
Baser
Цитата(megaboy @ Sep 28 2009, 11:28) *
Получается, что использовать команду AT+CIPSTATUS для статуса соединения нет никакого смысла?

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

По крайней мере, я делаю именно так...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.