Laden...

Aufgerufene URL auslesen

Erstellt von And.Wolf vor 12 Jahren Letzter Beitrag vor 12 Jahren 3.033 Views
A
And.Wolf Themenstarter:in
65 Beiträge seit 2010
vor 12 Jahren
Aufgerufene URL auslesen

Hallo,

ich habe einen kleinen HTTP Server implementiert der über einen TCPListener läuft.

Nun würde ich gerne beim Aufruf durch den Client:


 TcpClient client = listener.AcceptTcpClient();

auslesen welche URL der Client aufgerufen hat.

Mein Ziel ist es über die URL einen Wert mitzugeben.

Danke & Gruß
Andreas

E
180 Beiträge seit 2010
vor 12 Jahren
hi

Dazu musst die Daten durchsuchen, die ja bei HTTP in dem Fall als HTTP-GET kommen. Da findest du alle relevanten Informationen u.a. auch die URL.

B
387 Beiträge seit 2005
vor 12 Jahren

Hi,

warum bentzt du dafür nicht die HttpListener-Klasse?
Msdn - HttpListener

So wie du das machst müsstest du den ankommenden Daten-Stream händisch zerstückeln.

Gruß
Roland

A
And.Wolf Themenstarter:in
65 Beiträge seit 2010
vor 12 Jahren

Kann ich über den HTTP Listener auch daten wieder zurück schreiben? da ich nach einem gewissen Zeitpunkt Daten wieder an den aufrufenden schicken muss.

Gruß
Andreas

B
198 Beiträge seit 2005
vor 12 Jahren

Ja über einen HTTP Listener kannst du über die Response Daten zurücksenden.

In dem MSDN Link von Blacal ist Beispielcode, wo unter anderem über eine Response geantwortet wird.

Lg

B
387 Beiträge seit 2005
vor 12 Jahren

Hola

da ich nach einem gewissen Zeitpunkt Daten wieder an den aufrufenden schicken muss.

Was ist denn ein "gewisser Zeitpunkt"? Die Antwort über Http sollte möglichst sofort zurückgeschickt werden, alles andere ist schlecht. Anerenfalls würdest du auch auf der anderen Seite einen Http-Listener benötigen.

Andere Frage: Warum eigentlich Http bzw. was willst du eigentlich erreichen? Um das Hosten von Webseiten oder Webservices gehts ja vermutlich nicht..

Gruß
Roland

4.221 Beiträge seit 2005
vor 12 Jahren

Kann ich über den HTTP Listener auch daten wieder zurück schreiben? da ich nach einem gewissen Zeitpunkt Daten wieder an den aufrufenden schicken muss.

Wer oder was ist der Client ?

Wenn der Client ein Browser ist, dann wird dieser die Seite erst rendern wenn der Server die Verbindung Schliesst (TcpClient.Close).

Du wirst so dem Client nachträglich nichts neues schicken können.

---> Du könntest höchstens dem Browser eine Seite mit eingebautem Refresh-Tag mitgeben... dann baut der regelmässig eine neue Verbindung zum Server auf um die aktuellsten Daten zu holen.

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

156 Beiträge seit 2010
vor 12 Jahren
A
And.Wolf Themenstarter:in
65 Beiträge seit 2010
vor 12 Jahren

Hallo,

die Antwort kommt sehr zugüig wieder zurück
Ich bleibe unter einer Sekunde.

Das Ziel ist es über den Server eine Suche der Federated Search zu realisieren.

Gruß
Andreas

B
387 Beiträge seit 2005
vor 12 Jahren

Ok, dann solltest du mit dem HttpListener dein Ziel erreichen können.

A
And.Wolf Themenstarter:in
65 Beiträge seit 2010
vor 12 Jahren

Hallo,

ja es klappt super.
Aber wie komme ich an den Parameter dran?

Die Funktion kann ich irgendwie noch nicht finden 😉

Danke habe es schon 😃

Danke & Gruß
Andreas