Суть такая:
Использую встроенный UDP/IP стек в прозрачном режиме.
Раз в три минуты выхожу из прозрачного режима дерганием ноги DTR. Произвожу обмен AT командами, в основном только AT+CMGL. Выполняю ATO и возвращаюсь в прозрачный режим.
Примерно через раз после такого входа/выхода происходит смена номера исходящего порта в UDP пакетах. Если не прыгать из режима в режим - номер порта держится долго, но иногда все равно меняется (при последнем тестировании продержался 40 минут, потом без видимых причин смениля).
Поскольку однозначно идентифицировать ноду по UDP можно только по связке IP:Port, некорректная смена этого самого порта приводит к разрыву логической сессии, что представляет собой существенную проблему для моего приложения.
В быструю развязку со стороны SimCom я не верю, так что буду пробовать что-нибудь другое.
Очень печально.
|