Web serwis a program wykonywany na procesorze

0

Witam,
mam obecnie następujący problem z projektem:
mam do zrobienia web serwis oraz stronę internetową(web server to lighttpd, strona w cgi-perl bądź c), które będą działać na routerze(Openwrt). Na tym routerze musi tez działać program, który mam napisany w c, odpowiadający za przesyłanie po wifi komunikatów do urządzeń, do którego muszę przekazać dane sterujące ze strony internetowej. I teraz, czy web serwis(jakiś SOAP bądź coś innego równie prostego na te dystrybucje)ma odbierać komunikat ze strony i przesyłać je dalej do programu, który je odbierze i coś wykona, czy ten program w C ma być częścią web serwisu, czy może inne rozwiązanie?
Z góry dziękuje za pomoc.

0

W ogóle nie potrzebujesz web service jeśli strona www ma być jedynym interfejsem do tego programu z zewnątrz. Bezpośrednio z poziomu serwera www możesz uruchamiać swój program, odbierasz request, masz dane formularza, na podstawie których uruchamiasz swój program z odpowiednimi parametrami. Nie napisałeś czy interesuje cię jakiś wynik działania tego programu, aby wyświetlić go na www, czy nie.

0

tak- program przyjmuje 3 podstawowe komunikaty-on,off i status, który będzie wyświetlany na www. Jeżeli chodzi o wywoływanie programu z serwera www to rozumiem, że skoro jest system operacyjny(openwrt), to program ten nie będzie musiał być stale uruchomiony na mircroprocesorze i będe mógł go wywoływąc tak jak pisałes, tak? Mogłbys coś więcej o wywoływaniu tego programu napisać(jestem świeży w tematach web serwerowych a już zwłaszcza w lighttpd i openwrt)?

0

Kiedy przetwarzasz request z strony i uznasz że należy uruchomić program z parametrami, to robisz to odpowiednią metodą dla języka jakiego użyjesz (perl/C). Nie wiem jak jest odseparowana przestrzeń www od pozostałej części systemu pod openwrt, ale pewnie będziesz potrzebował nadać odpowiednie uprawnienia procesowi pod którym chodzi www do uruchomienia swojego programu, który oczywiście nie powinien być w katalogach serwera www.
Jeszcze kwestia czy po uruchomieniu programu chcesz czekać na jego zakończenie (wywołanie synchroniczne), czy tylko wywołać i zapomnieć (wywołanie asynchroniczne). Ale to kwestia uruchomienia procesu spod perl/C.

1 użytkowników online, w tym zalogowanych: 0, gości: 1