|
Не удается запустить Data Connection на FTP(GPRS SIM300) ? |
|
|
|
Sep 17 2008, 15:00
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
В качестве пособия по работе с FTP использовал всем известный документ: http://www.microchip.ua/simcom/SimCom/Appl.../SIM300_FTP.docЗапускаю сервер, Логинюсь на FTP-сервере, создаю свои папки бегаю по ним и все такое...потом все созданые папки видно на консольке на ПК... проблема только состоит в том что немогу сосздать файл (вернее файл создается) и немогу записать в него данные в следствии того что два сервера не могут установить Data Connection... Вот сообщение выдаваемые сервером: at+cipsend > port 10,10,128,81,7,228 SEND OK 500 I won't open a connection to 10.10.128.81 (only to 81.23.24.44) Мой ипишник 10.10.128.81 (выдается командой at+cifsr)... В тоже самое время просматривая FTP-сесию на консоли ипшник GPRS модема представляется как 81.23.24.44 (поиски в инете показывают что за этими адресами числятся "Киевстаровкие" сервера)?? При каждой новой FTP-сесии как первый так и второй ипишники меняются (динамические). При попытке установить Data Connection на ипишник который выдает сервер тоже со времене приходит сообщение о ошибке: at+cipsend > port 81,23,24,44,7,228 SEND OK 200 PORT command successful .... 425 Could not open data connection to port 2020: Connection timed out оно и ясно так как ипишник то не мой а какогото киевстаровкого сервера... В эксперементах использую GPRS-интернет от DJUICE (он же "Киевстар") и платный FTP-сервер (на нем у нас сайт стоит). Как мне кажется проблема скорее всего именно GPRS сервисе оператора??? Подскажите кто как боролся с Data Connection???
|
|
|
|
|
Sep 18 2008, 07:39
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(mapic @ Sep 17 2008, 19:00)  Подскажите кто как боролся с Data Connection??? Да никак ты его не поборешь. Ты за NAT провайдера. Только купить у провайдера услугу "реальный ip-адрес", чтобы он выдавал тебе адрес не из диапазона 10.*, а из 81.*. В реальном мире используют PASSIVE MODE FTP, чтобы соединения всегда создавал ты (подразумевается, что FTP-сервер сидит на нормальном доступном адресе). Но с SIM300 это работать не будет - его внутренний стек держит только одно соединение.
|
|
|
|
|
Sep 18 2008, 12:14
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
Цитата(stream @ Sep 18 2008, 10:39)  Да никак ты его не поборешь. Ты за NAT провайдера. Только купить у провайдера услугу "реальный ip-адрес", чтобы он выдавал тебе адрес не из диапазона 10.*, а из 81.*. В реальном мире используют PASSIVE MODE FTP, чтобы соединения всегда создавал ты (подразумевается, что FTP-сервер сидит на нормальном доступном адресе). Но с SIM300 это работать не будет - его внутренний стек держит только одно соединение. ...и что больше никак??? а выглядело все так просто!!! Может попробовать с другими операторами например МТС? ...а какие еще варианты имеются?? Нужно переодически записывать в файл на удаленом сервере небольшой обем данных. Пробовал через почтовый сервер на емейл так с Киевстара нормально кактит...
|
|
|
|
|
Sep 18 2008, 15:33
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
Цитата(mapic @ Sep 18 2008, 15:14)  ...и что больше никак??? а выглядело все так просто!!! Может попробовать с другими операторами например МТС? ...попробовал с оператором "Джинс" от МТС (Украина) - все заработало как в описании... просто отлично! Должно быть дело было в операторе и в выделяемыми им ипишниками... В результате недолгих экспериментов выявил новую "бяку"... После любой команды связаной с Data Connection (создание файла, запись даных в файл, чтение файла и дериктории) соединение Control Connection закрывается (CLOSED) а Data Connection остается...после попытки передать что то по Data Connection и оно закрывается... После чего приходится каждый раз конектится и логинится на ФТП сервере? Как избежать обрыва соединения??? P.S.Может кто видел ресурс по FTP где кратко и в доступной форме описаны команды???
|
|
|
|
|
Sep 19 2008, 07:46
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(mapic @ Sep 18 2008, 19:33)  ...попробовал с оператором "Джинс" от МТС (Украина) - все заработало как в описании... просто отлично! Должно быть дело было в операторе и в выделяемыми им ипишниками... Ну да, выделяемые адреса разные. Вот только на российском МТС тоже одно время была типа халява. Всем давали случайные, но настоящие адреса. А потом все равно всех под NAT загнали. И украинцы тоже могут в любой момент все переделать. Цитата В результате недолгих экспериментов выявил новую "бяку"... После любой команды связаной с Data Connection (создание файла, запись даных в файл, чтение файла и дериктории) соединение Control Connection закрывается (CLOSED) а Data Connection остается...после попытки передать что то по Data Connection и оно закрывается... После чего приходится каждый раз конектится и логинится на ФТП сервере?
Как избежать обрыва соединения??? Перешивать, если можно. Это баги номер 22 и 23, исправленные в 18-й версии (для обычного SIM300).
|
|
|
|
|
Sep 22 2008, 13:40
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
Цитата(stream @ Sep 19 2008, 10:46)  Ну да, выделяемые адреса разные. Вот только на российском МТС тоже одно время была типа халява. Всем давали случайные, но настоящие адреса. А потом все равно всех под NAT загнали. И украинцы тоже могут в любой момент все переделать.
Перешивать, если можно. Это баги номер 22 и 23, исправленные в 18-й версии (для обычного SIM300). Да может Вы и правы... Украинский МТС (Джинс) выделяет ипшники типа 88.214.89.200 что и позволяет работать с Data Connection... Я пошол дальше и опробовал разные украинские операторы на предмет возможности работы в режиме Data Connection... вот результат: Диджус, АсеВасе от Киевстара, Билайн не работают (ипишники начинаются с 10....); Джинс (а соответствено и МТС надо полагать) - работают ипишники начинаются с 88... А каким еще способом возможно записать даные в файл на FTP или HTTP сервер???
|
|
|
|
|
Sep 23 2008, 07:15
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(mapic @ Sep 22 2008, 17:40)  Да может Вы и правы... Украинский МТС (Джинс) выделяет ипшники типа 88.214.89.200 что и позволяет работать с Data Connection... Ну так почитайте какие-нибудь основы по TCP/IP, где расписаны диапазоны адресов для локальных сетей - сразу все будет понятно, с кем будет работать, а с кем - нет. Цитата А каким еще способом возможно записать даные в файл на FTP или HTTP сервер??? Во-первых, можно использовать http post (требуется поддержка на сервере, типа скрипта, который этот post будет разгребать). Во-вторых, если сервер собственный, проще написать свою крохотную программу, которая будет принимать данные по вашему личному протоколу и складывать, куда надо.
|
|
|
|
|
Sep 23 2008, 07:37
|
Группа: Новичок
Сообщений: 6
Регистрация: 15-09-08
Пользователь №: 40 202

|
Цитата(mapic @ Sep 18 2008, 16:14)  ...а какие еще варианты имеются?? Нужно переодически записывать в файл на удаленом сервере небольшой обем данных. Я для пожожей цели использовал HTTP POST, а на сервере обыкновенный апач и cgi скрипт. Данные не кодировал никак: бегло пролистав RFC, прямого запрета делать content-transfer-encoding: binary вроде как не нашел, апач поддерживает. (Если это криминал, пусть знатоки поправят). Запрос выглядит примерно так (конец строки = CR+LF): Код POST /cgi-bin/server_script.cgi HTTP/1.1 Host: www.myserver.net Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-Length: 123 {пустая строка!} {ровно 123 байта данных} Если данные сбрасываются редко, то Connection: close и соединение закрывается после одного запроса. Если часто, то лучше работать в режиме Keep-Alive, отслеживать состояние соединения и переконнекчиваться при потере tcp connect.
|
|
|
|
|
Oct 6 2008, 16:05
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
Цитата(Овец @ Sep 23 2008, 10:37)  Я для пожожей цели использовал HTTP POST, а на сервере обыкновенный апач и cgi скрипт. Данные не кодировал никак: бегло пролистав RFC, прямого запрета делать content-transfer-encoding: binary вроде как не нашел, апач поддерживает. (Если это криминал, пусть знатоки поправят). Запрос выглядит примерно так (конец строки = CR+LF): Код POST /cgi-bin/server_script.cgi HTTP/1.1 Host: www.myserver.net Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-Length: 123 {пустая строка!} {ровно 123 байта данных} Если данные сбрасываются редко, то Connection: close и соединение закрывается после одного запроса. Если часто, то лучше работать в режиме Keep-Alive, отслеживать состояние соединения и переконнекчиваться при потере tcp connect. ...неясно куда имено сбрасываются данные?? - в файл? ... а если мне еще нужно данные и с сервера читать (например из файла??). ...и еще одно а если всетаки сервер не свой? - и имеется только логин и параль доступа?
|
|
|
|
|
Oct 20 2008, 14:44
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
Цитата(bloodden @ Oct 20 2008, 17:22)  У Лайфа ИП прямые (пока?). А качать с сервера по ХТТП и того проще: GET /file.bin HTTP/1.0 ... ... ...
где /file.bin путь и имя файла. ...у Украинского "Джинса" ип тоже прямые (и "МТС" наверное тоже)...
|
|
|
|
|
Oct 22 2008, 08:34
|
Частый гость
 
Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294

|
Цитата(bloodden @ Oct 20 2008, 17:22)  У Лайфа ИП прямые (пока?). А качать с сервера по ХТТП и того проще: GET /file.bin HTTP/1.0 ... ... ...
где /file.bin путь и имя файла. ...вчера испытывал... нефига неработает...
|
|
|
|
|
Oct 22 2008, 20:42
|

Бывалый
  
Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853

|
Цитата(mapic @ Oct 22 2008, 11:34)  ...вчера испытывал... нефига неработает... Что именно не работает? Браузеры, когда качают файлы/страницы (что есть одно и то же) так и делают. И WWW до сих пор работает на этом. PS: Это, естественно, путь к файлу от корня ХТТП сервера.
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|