Strowanie programem przez przeglądarkę

0

Witam. Mam takie pytanie, czy da się dodać do programu napisanego w C# możliwość reagowania na wiadomości HTML. (nie ASP, tylko zwykła aplikacja).

Np. Wpisuję "http://192.168.1.4:8081/startplaying" i program w C# uruchamia winampa, oraz zwraca znajdujący się na dysku plik html. Samo uruchomienie i odczytanie pliku to nie problem, ale nie wiem, jak przechwycić zdarzenie, odczytać fragment "/startplaying" i odesłać odpowiedniego stringa.

0

da sie, napisz web serwer,

http://tools.ietf.org/html/rfc2616

0

Zamiast pisać websever od postaw przy użyciu samej dokumentacji wystarczy nasłuchiwanie na porcie 8081 i oczekiwanie np. takiej wiadomości:

GET /startplaying HTTP/1.1[CRLF]
Host: 192.168.1.4[CRLF]
Connection: close[CRLF]
User-Agent: User-Agent=Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
[CRLF]

I odesłać coś takiego:

HTTP/1.0 200 OK[CRLF]
Date: Fri, 29 May 2009 20:04:22 GMT[CRLF]
Content-Type: text/html[CRLF]
Content-Length: [długość html w bajtach][CRLF]
[CRLF]
twój plik html[CRLF]

edit: posłuchaj jednak Pana niżej ;).

0

Podstawowa zasada nie pisac tego, co juz ktos napisal, bo to strata czasu i energii: http://webserver.codeplex.com/

0

Jeśli program będzie działał na kompie z XP SP2 lub wyżej to możesz spokojnie wykorzystać klasę HttpListener. Pozwala ona nasłuchiwać nadchodzące żądania HTTP i odpowiednio na nie reagować.

0

Jeśli program będzie działał na kompie z XP SP2 lub wyżej

Czy w Linuksie i Mono nie będzie żadnych problemów?
Aplikacja ma działać aktualnie na Windows 2000, ale planuję zmienić serwer na linuksowy.

0

W projekcie Mono notka z dnia 11 stycznia 2006 zawiera taki tekst:

HttpListener has been upgraded;

Więc zakładam, że powinno działać, ale sprawdzić musisz sam.

Pełna treść notki tu.

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