|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:36 am
Ограничения на FTP-сървър
| Автор |
Съобщение |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
 Re: Мда
Как предлагаш да стане връзката между микропроцесорното устройство и базата данни?
|
| Чет Май 14, 2009 11:39 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Мда
Аз ви предлагам по мръсния канал
Иначе най-практично си е в процесорчето да се вкара елементарно HTTP. Не е сложно - отварянето на сокет става с 2 команди, след това пращаш заявка + боди и евентуално парсваш отговора. Ех, има леко неудобство, че трябва някакъв transfer encoding, ама това е най-малката грижа...
Тоя подход е най-универсален, доколкото позволява хиляди решения за сървър. Няма ограничение къде ще се хоства сървъра, на ккаква база, на каква ОС и т.н. Ако целта е да се вкара в SQL, достатъчно е само един PHP скрипт. Може и джаба, може и всякакви други скриптове. Всъщност може и с програмиране, колегите пробваха някакви делфи компоненти - става, но скрипта си е скрипт. Намираш някъде сървър/хостинг - качаш скрипт файла и си готов.
А веднъж качени данните в SQL нататък е лесно. Ако е непретенциозно приложение - още 2-3 веб странички да ги показват в реално време. Ако е по-сложно може да си трябва някакво приложенийце, но в общия случай ако терминалчетата подават данните в някакъв приличен вид става само с PHP да се изобразяват. Така сървъра си хем сървър за терминали, хем за хора. Евентуално после ако данните трябва да се показват графично, джабата е добро решение...
П.С. Не е чак толкова сложно да се направи терминалче да поства в тоя форум... Това е само един от многото примери как може да се измисли приложение със сървър, без да се налага да правиш сървър. Стига само да се стъпи върху HTTP а не на някой грозен протокол като ftp.
|
| Чет Май 14, 2009 12:48 pm |
|
 |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
 Re: Мда
За Mysql нещата са елементарни ... щом керливия ПИК без проблеми се справя .... едва ли някой по сносен професор ще се озори ... трябва ти TCP връзка и SHA1 кодиране за паролата .. от там нататък в Mysql а си написваш една сторед процедура или функция и си готов.Mysql протокола е изключително прост и го има документирано, а и кеф ти линукс кеф ти боза ...
|
| Чет Май 14, 2009 1:08 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Миро, "PUT" през http е наистина най-простото, дето може да се измисли май,
но не ми е ясно как стои въпросът със сървърите, дето да ги сложи човек и
да работят, че и да разрешават "PUT" ("GET" очевидно го могат всички).
Кодирането е най-малката беля (във всеки случай по-просто от ftp клиент
в MCU-то). И не помня как беше append-ването при "PUT" (май го имаше, де),
а и сървърът дали го може трябва отделно да дебне човек (докато при ftp-то
си е основна част, могат го).
Та ако има вършещ работа http сървър няма място за чудене, работата по
MCU-то ще е по-малка с него; инак остава ftp (ако сега го правех аз бих ползвал
навярно него, че имам всичко готово, ама в случая това явно не е така) и
кой знае още колко други опции  .
А, и ftp не е грозен, бе - що ти се видя такъв?
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Чет Май 14, 2009 2:39 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Re: Мда
Има 2 начина:
1. Чрез директна връзка host: .... , port 3306, username...., password: ...
2. Или като стартираш линка чрез скрипт в твоя RTOS: http://host/?var1=AAA&var2=BBB&var3=CCC......., след това сървъра може да е каквото си искаш има милиони примери на PHP+Mysql да си запазиш заявката в база данни или в някакъв файл, ама не е за препоръчване че един ден ще ти се отваря мноо зор тоя файл като стане огромен.
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Чет Май 14, 2009 4:22 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Ми не е добър в основното си приложение - трансфер на файлове. Куца защита, куца надеждност - айде при точене добре, ама не знам дали си се пробвал да качаваш примерно 100-на меги на някой по-отдалечен сървър - мъка... че и резюме няма.... Да не говорим че не пробива навсякъде, трябват реални IP-та и тем подобни.
Аз отдавна не го ползвам и то не го ползвам щото за линукс отдавна се избягва. Всички бачкат през SSH конзола и отгоре ако трябва да трансферирам нещо - sftp.
Та така... в основното си приложение за трансфер на файлове чисто ftp не е най-доброто решение. А за странични приложения още по-малко, щото нито от към сърър имаш някаква функциаоналност да се закачаш, нито от към клиент.
|
| Чет Май 14, 2009 5:15 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Миро, я разясни как да стане през HTTP към MySQL, та да набия канчето на нашия Сисадмин, дето ме мота по въпроса два дена, а уж беше лесно.
HTTP-то при мен върви - отварям сокет и изпращам това, което ми е казано да изпратя.
HTTP-сървъра се обажда от време на време и изпраща не това, което трябва.
FTP-то си работи при мен добре. Ако е читав FTP-сървъра, няма проблем да проверя размера на качения файл.
Ся, за големи файлове сигурно си прав, но за моите приложения аз работя с файлове докъм 200кВ.
|
| Чет Май 14, 2009 6:35 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
> че и резюме няма...
Има си от 30-ина години насам, това пък отде го измисли.
> Да не говорим че не пробива навсякъде, трябват реални IP-та и тем подобни.
Наистина му трябват реални IP-та, ако не ползваш passive mode... Но и това го
има от десетилетия насам (като писах моето ftp преди години май rfc822 четях,
и там го имаше вече....).
Работи добре за мене, независимо от размера на файловете. И наличието на свястна
контролна връзка едновременно с тая за данни го прави качествено различен - в добър
смисъл - от http. Не е да не съм виждал сървъри, дето да не я обработват като хората,
но това не е от протокола, а от калпаво написан сървър и/или калпава среда, в която
работи.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Чет Май 14, 2009 6:55 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Пробвай filezilla server. На мене ми върши работа за връзка с бозата, под която работи, и е FOSS.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Чет Май 14, 2009 6:56 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Дори си нямам идея къде е машината, каква е ОС и сървъра - друг се грижи за това.
|
| Чет Май 14, 2009 7:42 pm |
|
 |
|
goose
Ранг: Популярен
Регистриран на: Сря Окт 03, 2007 3:39 pm Мнения: 311
|
Ако само трябва да добавяш данни на отдалечената машина можеш да ползваш и syslog-ng примерно, няма по просто решение от това ...
отваряш сокет и плюеш по него само две числа - facility и severity, и данните които искаш да влязат в лога ...
от там нататък на сървъра вариантите граничат с безкрайност, кеф ти файл за всеки клиент, кеф ти някаква база ... зависи само от въображението и нуждите ти :> Може да се ползва и стандартния syslog, но той не работи с TCP, само UDP и нямаш гаранция за доставка на пакета.
Просто ... кажи какво точно трябва да правиш, варианти много ;>
|
| Чет Май 14, 2009 8:50 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Уфф... с админите винаги има проблеми:-) Иначе аз конкретно не съм бачкал с MySQL, щото нашия админ е свикнал с PostGre ама то това едва ли има някакво значение. Горе някой даде идея да се логваш дирекно към базата" без посредници" - честно казано не бях се сещал за тая идея. Интересно, но си мисля че най-чисто е чрез посредник от типа на PHP. Поне в моя случай терминалът е пълноценен браузър и в това е акцентът на приложението (демек пестя писане на фърмуер щото сменям страниците на сървъра и терминала вече показва съвсем различни неща). Докато пращането на данни е второстепенна задача. Та имаш: 1) някакъв сървър - апачи или IIS на М$ 2) някаква боза - MySQL или нещо друго 3) някаква шерната директория дето се вижда като web Слагаш един файл примерно index.txt в тая директория и от терминала като пуснеш GET заявка за тоя файл трябва да го получаваш. Ако се вижда през интернет а терминала не го получава - проблемът е в задтерминалното устройство  После слагаш един php файл - нормално той се разпознава от сървъра (MIME) и като има заявка за тоя файл не се праща съдържанието дирекно ами се парсва. Вътре в файла като се срещне <?php всичко до затварящото ?> се интерпретира като код. Както казах аз не съм специалист, но четеш - не е сложно. Примерно гледам из нашия сървър първо се проверяват разни неща - смятат се разни променливи и се попълват SQL заявки:
С две думи - имаш скрипт, който може да е много прост, но и сложен ако правиш сесии, ауторизации и ала-бала. Скрипта може да проверява заявката, след това по някаква логика да изгенерира и изпълни N на брой заявки към SQL-бозата и накрая за разнообразие да върне някакво съдържание за отговора, който терминала дефакто ще получи.
Как точно пращаш данни - ми може и с GET заявки и към URL-то да добавяш ?-параметри както по-горе имаше пример... Но така си ограничен, щото URL-то минава през proxita и не може да е голямо.
За повечко данни по-добре POST зявка. Ние ползваме нещо подобно в единия проект - имаме много на брой малки записи, които са номерирани. Терминалът праща по 20-на записа, а сървърът връща като резултат "страница" съдържаща само едно число - номера на последния правилно приет запис. По подобен начин може да се направи всякакъв "протокол".
|
| Чет Май 14, 2009 9:20 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Е нали поне ще знаеш ftp ли ще ползваш или нещо друго. Ако е ftp (изглежда доста по-просто
от останалите варианти, дето ти бяха предложени), каквото и да е - filezilla или всяко друго
нещо - все ще работи, въпросът е ти да не оставяш висящи сесии, при всяко писане си отваряй
сесията, прави каквото правиш и затваряй. Така даваш минимум свобода на бозявите интерпретации
на това или онова в header-а (ако си http), въобще минимизираш възможностите за недоразумения
в доста добра степен (далеч не пълна, разбира се).
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Чет Май 14, 2009 11:41 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
tgi, имах предвид, че не се интересувам от машината, ОС и конкретно използвания FTP-сървър. FTP-то си го използвам за да си свалям инфо към моето устройство и си работи добре, но в FTP-протокола има доста служебен трафик при отваряне и затваряне на файла и особено при ъплоуд - някъде към 1,5КВ на файл.
При HTTP-то, служебния трафик е точно 402 байта на заявка, което за къси пакети с данни е по-изгодно. При дълги - FTP.
Сега чакам посещение от Сис-а с най-нови диви идеи.
goose, syslog-а изглежда интересно, но имаш ли опит как се държи с повече клиенти едновременно. Не ми се иска да стъря на гнило...
Миро, благодаря за разяснението.
|
| Пет Май 15, 2009 10:04 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Е да, трафикът около всяка сесия в ftp ще е повече. Първата ми реакция
беше, че 1.5к е много - и май може да стане доста по-малко - но може и
там да отиде, не съм го броил.
Сега ми хрумва, може би smtp е приемлива опция? Просто му пращаш
данните като поща и айде. Диалогът е кратък, 100-200 байта ще ти стигнат.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пет Май 15, 2009 11:30 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 0 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|