Отговори на тема  [ 21 мнения ]  Отиди на страница 1, 2  Следваща
Как прехвърляте двоични данни през HTTP? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 21, 2006 6:39 pm
Мнения: 76
Мнение Как прехвърляте двоични данни през HTTP?
Как прехвърляте двоични данни през HTTP?
От известно време съм решил вместо ASCII да си изпращам данните от контролера двоично, но не мога да го направя.
Четох в тия два форума, но явно и там не е ясно:
http://forums.data.bg/viewtopic.php?t=1085158
http://clubs.dir.bg/showthreaded.php?Board=php&Number=1946625554&page=0&view=collapsed&sb=5&part=

Разбира се, тук става дума за JS и PHP, но ако мога да го схвана на JS, ще си направя и ХТТП-то на микроконтролера.

PS Интересува ме управлението на протокола, езика и контролера са без значение.


Чет Дек 21, 2006 2:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Реално погледнато пращаш байтове - дали ще са кодирани символи или нещо друго - все са двоични :) . Та в тая връзка ако дадеш малко повече инфо какво искаш да правиш може пък някой да ти помогне :) . Другия момент е, че трябва да си голям мазохист да пишеш за микроконтролери на JS, то и с бейсика е същото (rumen-е не се засягай :) ), ама JS надхвърля всякакви граници 8) .


Чет Дек 21, 2006 7:44 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Човека, просто е чел от страница дето е описвано за JS. Едва ли има идея да пуска JS на желязото.

Аз не съм голям експерт по мрежови комуникации, ама ако просто ще се прехвърлят данни от ПЦ към желязо- тогава за какво ни е да се "качваме" до HTTP? Не може ли на TCP/IP да си седи?

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Дек 21, 2006 9:34 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 21, 2006 6:39 pm
Мнения: 76
Мнение 
Dimitar написа:
Реално погледнато пращаш байтове - дали ще са кодирани символи или нещо друго - все са двоични :) . Та в тая връзка ако дадеш малко повече инфо какво искаш да правиш може пък някой да ти помогне :) . Другия момент е, че трябва да си голям мазохист да пишеш за микроконтролери на JS, то и с бейсика е същото (rumen-е не се засягай :) ), ама JS надхвърля всякакви граници 8) .

"Реално" погледнато единствената разлика е, че ако са кодирани (аски ило байс64 или както и да е) се изпраща подмножество на [0..255], а не всички възможни стойности. Това е относно "основи на кодирането"
Не се засягам, но те моля да четеш поста ми - не съм писал, че ще програмирам контролера си на JS, просто реализацията на HTTP-то е по-лесно да се пробва на JS, а след това контролера мога да го програмирам и на машинен код - писал съм, че това не е интересно в случея. Повтарям - ако някой знае решение за контрол на двоични стриймове през HTTP на какъвто и да е език - ще ми свърши работа.

Цецо написа:
Аз не съм голям експерт по мрежови комуникации, ама ако просто ще се прехвърлят данни от ПЦ към желязо- тогава за какво ни е да се "качваме" до HTTP? Не може ли на TCP/IP да си седи?

Ами от едната страна е нормален ВЕБ хост с ВЕБ сървър с PHP, а микроконтролерът (от другата страна :) ) трябва да му изпраща данни. Разбира се, това става чрез сокети, TCP/IP, но по протокол е HTTP, за да го разбира WEB сървъра.


Чет Дек 21, 2006 10:25 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
HTTP е поне 5 слоя над хардуера (хардуер->PPP(или подобно за серийна връзка)->TCP/IP->sockets->HTTP). Не мисля, че е разумна идея.


Чет Дек 21, 2006 12:06 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение 
Спред мен единствения ти начин на прехвърляш просто бин дата между двете е като представяш датата като файл, т.е. за да вземе контролера от сървъра дани трябва да свали от наго например филе1:
GET file1 HTTP/1.0\r\n\r\n, после чакаш да ти върне файла и го приемаш като изпускаш водещите паразитни символи.

За да изпратиш данни към сървъря трябва да използваш upload form която да изпратиш на сървъра с файла където той очаква.

Ако са малки данните, по добре ги кодирай например в 0х0000 формата и после ги превърни отново в бин дата в двете страни и използваи направо гет/пост заявките за обмяна на променливи със сървъра.


Чет Дек 21, 2006 1:02 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 21, 2006 6:39 pm
Мнения: 76
Мнение 
t_i_t_o написа:
Спред мен единствения ти начин на прехвърляш просто бин дата между двете е като представяш датата като файл, т.е. за да вземе контролера от сървъра дани трябва да свали от наго например филе1:
GET file1 HTTP/1.0\r\n\r\n, после чакаш да ти върне файла и го приемаш като изпускаш водещите паразитни символи.

За да изпратиш данни към сървъря трябва да използваш upload form която да изпратиш на сървъра с файла където той очаква.

Ако са малки данните, по добре ги кодирай например в 0х0000 формата и после ги превърни отново в бин дата в двете страни и използваи направо гет/пост заявките за обмяна на променливи със сървъра.


Поясни ми как с upload form да изпратя двоичните данни.
А обемът е от порядъка на 8к, ако го кодирам base64 ще стане 10-11к.
(какво е 0х0000 - да не е всеки байт да се коддира катоп два аски символа?)


Чет Дек 21, 2006 1:16 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 21, 2006 6:39 pm
Мнения: 76
Мнение 
Реконструктор написа:
HTTP е поне 5 слоя над хардуера (хардуер->PPP(или подобно за серийна връзка)->TCP/IP->sockets->HTTP). Не мисля, че е разумна идея.


Кое мислиш, че е неразумно? Да си свързвам хардуера с WEB сървър ли?
Не те разбирам, реконструкторе :) !


Чет Дек 21, 2006 1:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
abramabra написа:
Реконструктор написа:
HTTP е поне 5 слоя над хардуера (хардуер->PPP(или подобно за серийна връзка)->TCP/IP->sockets->HTTP). Не мисля, че е разумна идея.


Кое мислиш, че е неразумно? Да си свързвам хардуера с WEB сървър ли?
Не те разбирам, реконструкторе :) !


Да пишеш и използваш веб-сървър на mcu.


Чет Дек 21, 2006 1:24 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение 
Идеята е че с ъплоад форм се доставя какъвто и да е файл от ХТТП клиента до сървъра, т.е. сървъра не прави никакво парсване на файла (в което явно ти си заинтересуван), твоя контролер(клиент) вместо файл ще изпрати данните които иска, но ще каже на сържъра че просто прави файл уплоад като сложи какво да е име за файла който ъплоадва. В същност ако контролера изпраща различни по смисъл данни, то "името" на файла може да се използва сървъра да разбира какво му праща контролера.

За повече инфо за ъплоад форми предполагам това ще свърши работа:
гоогле - > html tutorial upload form


Чет Дек 21, 2006 1:31 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 21, 2006 6:39 pm
Мнения: 76
Мнение 
Реконструктор написа:
abramabra написа:
Реконструктор написа:
HTTP е поне 5 слоя над хардуера (хардуер->PPP(или подобно за серийна връзка)->TCP/IP->sockets->HTTP). Не мисля, че е разумна идея.


Кое мислиш, че е неразумно? Да си свързвам хардуера с WEB сървър ли?
Не те разбирам, реконструкторе :) !


Да пишеш и използваш веб-сървър на mcu.


и WEB сървъри ма MCU съм правил (и далеч не само аз - доста са популярни напоследък), но тук не става дума за това.
Става дума MCU WEB клиент да изпраща по няколко килобайта (през GPRS, но не е съществено) на "нормален" WEB сървър.


Чет Дек 21, 2006 1:50 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 21, 2006 6:39 pm
Мнения: 76
Мнение 
t_i_t_o написа:
Идеята е че с ъплоад форм се доставя какъвто и да е файл от ХТТП клиента до сървъра, т.е. сървъра не прави никакво парсване на файла (в което явно ти си заинтересуван), твоя контролер(клиент) вместо файл ще изпрати данните които иска, но ще каже на сържъра че просто прави файл уплоад като сложи какво да е име за файла който ъплоадва. В същност ако контролера изпраща различни по смисъл данни, то "името" на файла може да се използва сървъра да разбира какво му праща контролера.

За повече инфо за ъплоад форми предполагам това ще свърши работа:
гоогле - > html tutorial upload form


Идеята е ясна, да влезе убития :) - просто не знам как се прави.
Мерси и за урока по търсене с "гоогле"


Чет Дек 21, 2006 2:01 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение 
abramabra написа:
t_i_t_o написа:
Идеята е че с ъплоад форм се доставя какъвто и да е файл от ХТТП клиента до сървъра, т.е. сървъра не прави никакво парсване на файла (в което явно ти си заинтересуван), твоя контролер(клиент) вместо файл ще изпрати данните които иска, но ще каже на сържъра че просто прави файл уплоад като сложи какво да е име за файла който ъплоадва. В същност ако контролера изпраща различни по смисъл данни, то "името" на файла може да се използва сървъра да разбира какво му праща контролера.

За повече инфо за ъплоад форми предполагам това ще свърши работа:
гоогле - > html tutorial upload form


Идеята е ясна, да влезе убития :) - просто не знам как се прави.
Мерси и за урока по търсене с "гоогле"


Ако се надяваш да ти направя проекта или да ти давам уроци по ХТМЛ няма да стане - аз също си имам работа.
Оше един съвет за гугъл - не се надявай да намериш отговор на въпростите ти в БГ сайтове от мързел да не четеш на английски.


Чет Дек 21, 2006 2:42 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 17, 2005 5:07 pm
Мнения: 813
Местоположение: Сливен
Мнение 
Предполагам че има и инсталиран на сървъра MySQL !!!
Ако има не знам кво е сложното да си напишеш софтче което да си комуникира по TCP/IP с контролера и да си инсъртваш в таблицата с данните които после изобразяваш с PHP-то.

Знам че не е по темата ти но така е по просто мисля :)

Поздрави!!!


Чет Дек 21, 2006 3:13 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
abramabra написа:
и WEB сървъри ма MCU съм правил (и далеч не само аз - доста са популярни напоследък), но тук не става дума за това.
Става дума MCU WEB клиент да изпраща по няколко килобайта (през GPRS, но не е съществено) на "нормален" WEB сървър.


Ясно, значи става дума за обратната посока. В случая HTTP слоя е напълно излишен, няма никакви плюсове, за разлика от минусите, които са доста.


Чет Дек 21, 2006 3:32 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 21 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни