реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SIM300DZ и Мегафон, проблемы с повторным соединением
Crazy Coder
сообщение Aug 5 2008, 14:22
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 28-05-08
Пользователь №: 37 885



Доброго времени суток!

Ставлю мегафоновскую симку.
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-адресом/портом???

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

Есть какие-нибудь соображения? Это у меня руки не оттуда растут или это мегафон совсем оборзел?
Go to the top of the page
 
+Quote Post
edo
сообщение Aug 5 2008, 18:39
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 8-08-07
Пользователь №: 29 664



ну через ppp можно сколько угодно раз к одному хосту цепляться - при обычном просмотре страничек браузер по несколько раз к одному и тому же адресу к 80 порту коннектится
Go to the top of the page
 
+Quote Post
Baser
сообщение Aug 5 2008, 20:02
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(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.

То есть при постоянном порте процессы соединения протекают как-то по-другому.
Но подробностей не знаю..
Go to the top of the page
 
+Quote Post
Crazy Coder
сообщение Aug 6 2008, 06:10
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 28-05-08
Пользователь №: 37 885



Цитата(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.

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


Спасиб... Буду попробовать... хотя, как мне кажется это не совсем то...
Go to the top of the page
 
+Quote Post
Crazy Coder
сообщение Aug 6 2008, 08:29
Сообщение #5





Группа: Новичок
Сообщений: 8
Регистрация: 28-05-08
Пользователь №: 37 885



Цитата(Baser @ Aug 6 2008, 00:02) *
Хотя какой-то нюанс тут есть, в системе команд SIM300 есть команда
AT+CIPFLP Set Whether Fix The Local Port


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

так-что проблема закрыта.
Go to the top of the page
 
+Quote Post
Baser
сообщение Aug 6 2008, 09:46
Сообщение #6


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



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

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

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

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

Но это решение не всегда годится, напр., когда порт должен быть фиксирован при соединении двух модулей..
Go to the top of the page
 
+Quote Post
etoja
сообщение Aug 8 2008, 12:48
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Это значит, что GPRS модуль в действительности не закрыл TCP соединение.
Go to the top of the page
 
+Quote Post
edo
сообщение Aug 9 2008, 06:10
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 8-08-07
Пользователь №: 29 664



мне тоже так показалось.

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

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

Цитата(Baser @ Aug 6 2008, 13:46) *
Но это решение не всегда годится, напр., когда порт должен быть фиксирован при соединении двух модулей..
можете пояснить - чем может фиксированный source port помочь при соединении двух модулей?
Go to the top of the page
 
+Quote Post
Baser
сообщение Aug 11 2008, 10:19
Сообщение #9


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



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

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

Где фиксированный порт нужен всегда, так это когда модуль является сервером. Но в этом случае, как я понял, команда AT+CIPFLP Set Whether Fix The Local Port не должна влиять на значение порта.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.0143 секунд с 7
ELECTRONIX ©2004-2016