Здравствуйте, уважаемый all
Возвращаюсь к теме использования встренного в модуль стека. Наступил еще на одни, непонятного происхождения грабли,
пока что в полной задумчивости по поводу адекватного решения проблемы...
Суть такова.
Имеем
SIMCOM_SIM300D
Revision:1008B14SIM300D32_SST34HF3284
После установки коннетка с сервером, делаю переодическую проверку статуса соединения для контроля последнего, период - 60 сек.
AT+CIPSTATUS
OK
STATE: CONNECT OK
В обычном режиме команды отсылает сервер примерно раз в 5 мин.
Заметил вот что, если сервер корректно завершил сеанс связи по каким то причинам, то всегда получаю CLOSED
либо ближайшая проверка статуса дает нужный ответ.
НО! Если произошел аварийный обрыв, например, пропал наземный инет или просто выдернули шнур от системника сервера,
модем как ни в чем не бывало выдает ответ
AT+CIPSTATUS
OK
STATE: CONNECT OK
Причем на испынаниях, он выдвал их всю ночь, хотя реальный обрыв был в полночь. Т.е. получается, что проверки статуса
уже не достаточно, чтоб определить наличие tcp соединения?
TCP ведь по идее должен обеспечивать переодические проверки связи, значит делаем вывод, что это глюкавый стек модема?
И как можно бороться с данной ситуацией, разве только принудительно команды пулять серверу, типа пинги, и ждать ответ?