Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900 и DNS
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Baser
Возникли вопросы при установлении TCP соединения по имени хоста. Документация довольно скупая.
В процессе экспериментов выяснил, что адреса DNS серверов модуль получает автоматически из сети при попытке TCP соединения (после команды AT+CIPSTART). В принципе с конкретным оператором все работает.

Есть ли у кого-нибудь опыт применения DNS с различными операторами: будет эта авто-конфигурация DNS серверов происходить всегда
или может случиться ситуация, когда необходимо прописывать адреса DNS принудительно (командой AT+CDNSCFG вручную), как при настройке Виндозы???
rx3apf
Теоретически такая ситуация может возникнуть. Почему бы не предусмотреть возможность принудительной конфигурации ? А я наблюдал нечто подобное у Мегафона, когда через какой-то интервал вдруг переставал работать DNS. Прописал гугловские - и проблема исчезла. Дело было не на модуле, а на роутере TP MR-3220, но, полагаю, проблема могла бы быть и с модулем...
Baser
Да я понимаю, что теоретически все может случится. И поля для ввода адресов DNS серверов у нас были предусмотрены.

Просто не хочется лишний раз напрягать пользователя (который обычно ничего в этом не понимает) вводом магических циферок, которые ему еще и нужно где-то взять. Тогда как модуль и так получает их автоматически (или должен получить) причем наилучшие для его опсоса.

Возникает вопрос алгоритма: как лучше делать?
Если поля ввода адресов пустые - использовать по умолчанию, а если заполнены - то их?
Или еще сложнее: всегда получать ip-адрес хоста из имени хоста прямым DNS запросом, а если запрос не проходит, то изменять DNS сервер на тот, что ввел пользователь?

Или вообще ничего лишнего не делать и полагаться на автоконфигурацию и нормальную работу опсосских серверов и уже сейчас идти пить пиво?? biggrin.gif
rx3apf
Я сделал поля для первичного и вторичного DNS. Если заполнены - подставляю. Если пустые - не использую. Адрес сервера у меня, правда, типично задают цифровой. Но если по имени - тоже работает.
alexdos
По имени работает. Но иногда по непонятным причинам установить соединение весьма трудней чем по IP. Оператор "Киевстар", контрактные карты.
Baser
Цитата(rx3apf @ Aug 21 2012, 13:42) *
Я сделал поля для первичного и вторичного DNS. Если заполнены - подставляю. Если пустые - не использую. Адрес сервера у меня, правда, типично задают цифровой. Но если по имени - тоже работает.

В итоге, так и сделал.

Информация из экспериментов, для тех, кто будет применять DNS:
- адреса DNS серверов в модуле хранятся в ОЗУ, нигде не сохраняются;
- автоматически получаются от опсоса после команды AT+CIICR (можно прочитать, но пока нельзя изменить);
- после получения адреса командой AT+CIFSR можно изменять и работать с DNS;
- после закрытия PDP контекста командой AT+CIPSHUT адреса DNS серверов в модуле сбрасываются в 0.0.0.0
т.е. изменять на свои нужно каждый раз после активации (AT+CIFSR).
MKdemiurg
ТАк что, большая вероятность ,что оператор сглючит? По умолчанию вводить гугло-адреса?
kan35
Вероятность того, что оператором не будут выданы адреса DNS стремится к нулю.
То, что адреса окажуся нерабочими и при том оба - так же достаточно маловероятна.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.