|
|
  |
FTP через SIM300 |
|
|
|
Jul 24 2007, 09:57
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
Спасибо, почитаю, попробую. Но это ж еще скрипт писать надо на сервер. И опять же, будут вопросы, если данные не текст, а двоичные.
|
|
|
|
|
Jul 24 2007, 10:47
|
Участник

Группа: Свой
Сообщений: 44
Регистрация: 8-05-07
Пользователь №: 27 596

|
Цитата(Виталий Якименко @ Jul 24 2007, 13:57)  Но это ж еще скрипт писать надо на сервер. Предполагаю, что проблема возникнет не с написанием самого скрипта, а с его размещением на чужом сервере. Хотя, если вам открыли доступ по FTP - могут и со скриптом помочь, наверное. А скриптовое программирование открывает широкие двери для дальнейшей обработки вашей информации. Можно классифицировать ее на этапе приемки, сваливать на MySQL, строить на ее основе динамические страницы и крутить их на этом-же сервере... Определенно сюда надо идти. Цитата(Виталий Якименко @ Jul 24 2007, 13:57)  И опять же, будут вопросы, если данные не текст, а двоичные. Двоичные данные или текст - протоколу без разницы. В запросе есть поле content_type...
|
|
|
|
|
Jul 24 2007, 13:14
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
За подсказки спасибо. В принципе, есть две задачи - в одной из них нужны просто файлы, темп записи около 1 кБ каждые 8 сек. Думаю, здесь лучше FTP. В другой задаче - объем меньше, но и MySQL может пригодиться, и динамические страницы для визуализации.
А с размещением скрипта проблемы нет - если на сервере хостится сайт, там есть и WEB-сервер, и скрипты, и FTP, и MySQL...
|
|
|
|
|
Jul 27 2007, 16:27
|

пуля
   
Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959

|
Цитата(Виталий Якименко @ Jul 23 2007, 20:05)  Да, для больших файлов, конечно, будут проблемы. Зато, если небольшими порциями - например, результаты измерений - дописывать в файл - очень удобно. В одном TCP пакете можно передавать до 1 кБ - часто вполне достаточно А вы пробывали дописывать файл? У меня Wavecom модем. Дописывать файл не возможно на серваке, всё в этом файле переписывается, новой информацией. Думаю тут мало зависит от ftp сервака, самого.
|
|
|
|
|
Jul 27 2007, 17:10
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
Специально сейчас проверил. Да, именно дописываю, командой APPE протокола FTP. Прекрасно дописывает. Если пользоваться командами FTP, то все зависит от FTP-сервера, от модема практически ничего - он просто передает команды.
Может быть Вы используете не команды FTP в "чистом" виде, а реализацию FTP, которая есть в модемах Wavecom? Тогда вопросы к модему, или к тому, как Вы с ним работаете...
|
|
|
|
|
Aug 16 2007, 07:57
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 3-07-07
Пользователь №: 28 863

|
Цитата(Виталий Якименко @ Jul 22 2007, 19:13)  Расписал все что знаю на данный момент. Если у кого есть больший опыт - поделитесь. Здравствуйте! Пробовал писать на FTP по Вашей методике, но не получается, потому что в ответ на команду port сервер отвечает - "500 Illegal PORT command", может ли такое быть, что сервер не поддерживает команду port? И как в этом случае поступать?
|
|
|
|
|
Aug 16 2007, 09:57
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
Цитата(Ujin @ Aug 16 2007, 10:57)  Здравствуйте! Пробовал писать на FTP по Вашей методике, но не получается, потому что в ответ на команду port сервер отвечает - "500 Illegal PORT command", может ли такое быть, что сервер не поддерживает команду port? И как в этом случае поступать? напишите, что именно Вы написали в команде PORT
|
|
|
|
|
Aug 16 2007, 11:26
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 3-07-07
Пользователь №: 28 863

|
Цитата(Виталий Якименко @ Aug 16 2007, 12:57)  напишите, что именно Вы написали в команде PORT передавал "PORT 10,10,39,190,7,228" айпишник свой узнавал как у Вас в статье написано, директорию создать и в нее перейти получилось, а порт никак не получается.
|
|
|
|
|
Aug 16 2007, 11:38
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
Цитата(Ujin @ Aug 16 2007, 14:26)  передавал "PORT 10,10,39,190,7,228" айпишник свой узнавал как у Вас в статье написано, директорию создать и в нее перейти получилось, а порт никак не получается. В описании FTP написано: 500 Syntax error, command unrecognized. This may include errors such as command line too long. Получается, что он не понимет команду. Либо у Вас в команду вкрался некий символ, которого мы не видим, либо сервер не поддерживает команду PORT (что было бы странно) . Я бы попробовал следующее: - набрать PORT маленькими и большими буквами - попробовать с другим FTP- сервером. В принципе, не важно, какой IP Вы укажете в команде PORT - устанавливать Data Connection FTP-сервер будет только потом, когда получит команду на передачу данных
Сообщение отредактировал Виталий Якименко - Aug 16 2007, 11:39
|
|
|
|
|
Aug 16 2007, 12:11
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 3-07-07
Пользователь №: 28 863

|
Цитата(Виталий Якименко @ Aug 16 2007, 14:38)  В описании FTP написано: 500 Syntax error, command unrecognized. This may include errors such as command line too long.
Получается, что он не понимет команду. Либо у Вас в команду вкрался некий символ, которого мы не видим, либо сервер не поддерживает команду PORT (что было бы странно) . Я бы попробовал следующее: - набрать PORT маленькими и большими буквами - попробовать с другим FTP- сервером.
В принципе, не важно, какой IP Вы укажете в команде PORT - устанавливать Data Connection FTP-сервер будет только потом, когда получит команду на передачу данных маленькими буквами пробовал тоже, попробовал пробелы вставлять после запятой, тогда пишет "501 Invalid number of arguments" лишнего ничего попадать не должно, набираю в терминале
|
|
|
|
|
Aug 16 2007, 13:54
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
Цитата(Ujin @ Aug 16 2007, 15:11)  маленькими буквами пробовал тоже, попробовал пробелы вставлять после запятой, тогда пишет "501 Invalid number of arguments" Получается, что при правильном наборе он видит не ошибку в параметрах, а не понимает саму команду. Попробуйте с другим FTP-сервером. Если нет возможности - я Вам могу предложить свой (пишите на E-mail). B еще - когда входите на FTP-сервер, он пишет приветствие. Напишите мне, что он пишет ?
|
|
|
|
|
Aug 16 2007, 18:06
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 3-07-07
Пользователь №: 28 863

|
Цитата(Виталий Якименко @ Aug 16 2007, 14:38)  В описании FTP написано: 500 Syntax error, command unrecognized. This may include errors such as command line too long.
Получается, что он не понимет команду. Либо у Вас в команду вкрался некий символ, которого мы не видим, либо сервер не поддерживает команду PORT (что было бы странно) . Я бы попробовал следующее: - набрать PORT маленькими и большими буквами - попробовать с другим FTP- сервером.
В принципе, не важно, какой IP Вы укажете в команде PORT - устанавливать Data Connection FTP-сервер будет только потом, когда получит команду на передачу данных Оказывается ему айпишник не нравится - 10.х.х.х ведь зарезервировано для внутренних сетей, пробовал в port писать свой домашний - работает. Но вот только теперь следующая проблема - почему оператор такой айпишник дает на модуль?
|
|
|
|
|
Aug 16 2007, 19:10
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 8-08-07
Пользователь №: 29 664

|
сотовые операторы обычно выдают серые ip, осуществляя nat, при этом для ftp должна быть дополнительная поддержка (ибо он передает ip-адреса непосредственно в сообщении). похоже у вашего оператора нет такой поддержи. возможные варианты - использовать пассивный режим или же http. пример пассивного режима: Код $ telnet 10.0.0.20 21 Trying 10.0.0.20... Connected to 10.0.0.20. Escape character is '^]'. 220 (vsFTPd 2.0.5) USER guest 331 Please specify the password. PASS хрен-я-вам-скажу 230 Login successful. PASV 227 Entering Passive Mode (10,0,0,20,218,140) STOR aaa 150 Ok to send data. 226 File receive OK. PASV 227 Entering Passive Mode (10,0,0,20,193,58) LIST 150 Here comes the directory listing. 226 Directory send OK. QUIT 221 Goodbye. Connection closed by foreign host. в это время в соседней консоли: Код $ telnet 10.0.0.20 $((218*256+140)) Trying 10.0.0.20... Connected to 10.0.0.20. Escape character is '^]'. hello
^] telnet> quit Connection closed. $ telnet 10.0.0.20 $((193*256+58)) Trying 10.0.0.20... Connected to 10.0.0.20. Escape character is '^]'. -rw------- 1 1003 1003 19 Aug 16 19:00 aaa Connection closed by foreign host.
|
|
|
|
|
Aug 17 2007, 04:56
|
Участник

Группа: Новичок
Сообщений: 24
Регистрация: 18-07-07
Из: г. Харьков
Пользователь №: 29 218

|
Цитата(edo @ Aug 16 2007, 22:10)  возможные варианты - использовать пассивный режим или же http. C пассивным режимом понятно, но для этого на SIM300 нужно открыть два соединения, а это невозможно. Максимум - это одно как клиент, одно как сервер.
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|