Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM300DZ и Мегафон
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Crazy Coder
Доброго времени суток!

Ставлю мегафоновскую симку.
at+cgatt=1
OK
at+cgatt?
+CGATT: 1
at+cipcsgp=1,"internet"
OK
at+cipstart="tcp","xxx.xxx.xxx.xxx","1234"
OK
CONNECT OK
at+cipclose
CLOSE OK

далее пытаюсь снова соединиться на тот-же IP-шник и тот-же порт:
at+cipstart="tcp","xxx.xxx.xxx.xxx","1234"
OK

STATE: TCP CONNECTING

CONNECT FAIL

Пытаюсь на другой порт подцепиться
at+cipstart="tcp","xxx.xxx.xxx.xxx","4321"
OK
CONNECT OK
at+cipclose
CLOSE OK

Пытаюсь ещё раз:
at+cipstart="tcp","xxx.xxx.xxx.xxx","4321"
OK

STATE: TCP CONNECTING

CONNECT FAIL

Это что за ерунда такая? Тоесть я в контексте одной GPRS-сессии могу только один раз соединиться с требуемым IP-адресом/портом???

При этом, на МТС - при выполнении тех-же операций всё нормально соединяется, разединяется и снова соединяется без проблем.

Есть какие-нибудь соображения? Это у меня руки не оттуда растут или это мегафон совсем оборзел?
edo
ну через ppp можно сколько угодно раз к одному хосту цепляться - при обычном просмотре страничек браузер по несколько раз к одному и тому же адресу к 80 порту коннектится
Baser
Цитата(Crazy Coder @ Aug 5 2008, 17:22) *
Это что за ерунда такая? Тоесть я в контексте одной GPRS-сессии могу только один раз соединиться с требуемым IP-адресом/портом???

Скорее всего, это проблемы у провайдера. Я в процессе отладки много раз коннектился к одному серверу без всяких проблем.

Хотя какой-то нюанс тут есть, в системе команд SIM300 есть команда
AT+CIPFLP Set Whether Fix The Local Port
в которой есть комментарий
Note that in default mode, the local port is fixed. It can speed up the connection progress if setting to not fixed local port when establishing a new connection after closing previous connection.

То есть при постоянном порте процессы соединения протекают как-то по-другому.
Но подробностей не знаю..
Crazy Coder
Цитата(Baser @ Aug 6 2008, 00:02) *
Скорее всего, это проблемы у провайдера. Я в процессе отладки много раз коннектился к одному серверу без всяких проблем.


Именно на мегафоне? В том-то и дело, что на МТС такой проблемы нет совсем.

Цитата(Baser @ Aug 6 2008, 00:02) *
Хотя какой-то нюанс тут есть, в системе команд SIM300 есть команда
AT+CIPFLP Set Whether Fix The Local Port
в которой есть комментарий
Note that in default mode, the local port is fixed. It can speed up the connection progress if setting to not fixed local port when establishing a new connection after closing previous connection.

То есть при постоянном порте процессы соединения протекают как-то по-другому.
Но подробностей не знаю..


Спасиб... Буду попробовать... хотя, как мне кажется это не совсем то...
Crazy Coder
Цитата(Baser @ Aug 6 2008, 00:02) *
Хотя какой-то нюанс тут есть, в системе команд SIM300 есть команда
AT+CIPFLP Set Whether Fix The Local Port


Еще раз спасибо! Помогло:
AT+CIPFLP=0

так-что проблема закрыта.
Baser
Цитата(Crazy Coder @ Aug 6 2008, 09:10) *
Именно на мегафоне? В том-то и дело, что на МТС такой проблемы нет совсем.

Нет, конечно, не на Мегафоне. Я вообще не в России laughing.gif

Цитата(Crazy Coder @ Aug 6 2008, 11:29) *
Еще раз спасибо! Помогло:
AT+CIPFLP=0
так-что проблема закрыта.

Интересно! Видимо это связано к прокси кешем у провайдера. Или еще с каким-нибудь сетевым оборудованием, которое некоторое время хранит инфу о соединениях. И эта особенность известна, если китайцы такой вариант предусмотрели. Может кто-нибудь ещё объяснит нам в чем тут дело?

Но это решение не всегда годится, напр., когда порт должен быть фиксирован при соединении двух модулей..
etoja
Это значит, что GPRS модуль в действительности не закрыл TCP соединение.
edo
мне тоже так показалось.

вернее так - nat у мегафона не удалил соответствующую запись из своего списка отслеживаемых tcp-соединений. возможная причина - модуль не закрыл корректно соединение.

мне вообще кажется ненормальной практика повторного использования того же исходящего порта для нового соединения. что побудило китайцев сделать так - непонятно.

Цитата(Baser @ Aug 6 2008, 13:46) *
Но это решение не всегда годится, напр., когда порт должен быть фиксирован при соединении двух модулей..
можете пояснить - чем может фиксированный source port помочь при соединении двух модулей?
Baser
Цитата(edo @ Aug 9 2008, 09:10) *
можете пояснить - чем может фиксированный source port помочь при соединении двух модулей?

Наверно, вы правы. В этом случае фиксированный порт тоже не нужен laughing.gif
Тогда могу предложить другой вариант, где может применяться фиксация порта - группа клиентов, номер порта каждого является его номером (идентификатором). Вполне возможный вариант, хотя и несколько кривоватый smile.gif

Где фиксированный порт нужен всегда, так это когда модуль является сервером. Но в этом случае, как я понял, команда AT+CIPFLP Set Whether Fix The Local Port не должна влиять на значение порта.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.