G
Guest
Gast
Hi Leute!
Ich bin neu hier, aber arbeite schon bisschen länger mit Java, allerdings bin ich Netzwerkprogrammierung noch etwas unerfahren. Mein Problem ist folgendes: ich bau eine Verbindung zu einem Proxy auf über ein Socket und sende diesem eine ganz normale HTTP-Anfrage, hole mir das Ergebnis und gut ist. Dafür hab ich mir eine Klasse mit den Methoden open(), setQuery(), getResponse() geschrieben. Soweit so gut. Jetzt will ich aber nicht für jede Anfrage eine neue Verbindung zum Proxy aufbauen, das halte ich einfach nicht für sinnvoll. Deshalb dachte ich mir, es muss ja gehen, wenn ich erst setQuery() aufrufe, dann getResponse(), dann wieder setQuery(), getResponse(), usw. etc. pp.
Allerdings funktioniert das nicht, die zweite Ausgabe bleibt einfach leer.
Kurz die Funktionen:
open(): stellt Verbindung mit Proxy her, speichert OutputStream in Variable out, speichert InputStream in Variable in.
setQuery(): setzt eine Anfrage via out.write() und ruft out.flush() auf
getResponse(): liest den inputStream (in) ein und gibt das Ergebnis in einem StringBuffer zurück.
Muss ich irgendwas beachten? Geht das mit einem Proxy vielleicht nicht? Wenn ich mir selbst einen ServerSocket baue, muss ich ja nach jeder Anfrage dem Server sagen, dass er weiterhin Anfragen akzeptieren soll, da er sonst ja nur eine Anfrage / Verbindung akzeptiert. Ist das bei einem Proxy auch der Fall? Muss ich quasi für jede Anfrage eine eigene Verbindung aufbauen? Weil das ist nicht gerade performant...
Danke & viele Grüße,
Martin
Ich bin neu hier, aber arbeite schon bisschen länger mit Java, allerdings bin ich Netzwerkprogrammierung noch etwas unerfahren. Mein Problem ist folgendes: ich bau eine Verbindung zu einem Proxy auf über ein Socket und sende diesem eine ganz normale HTTP-Anfrage, hole mir das Ergebnis und gut ist. Dafür hab ich mir eine Klasse mit den Methoden open(), setQuery(), getResponse() geschrieben. Soweit so gut. Jetzt will ich aber nicht für jede Anfrage eine neue Verbindung zum Proxy aufbauen, das halte ich einfach nicht für sinnvoll. Deshalb dachte ich mir, es muss ja gehen, wenn ich erst setQuery() aufrufe, dann getResponse(), dann wieder setQuery(), getResponse(), usw. etc. pp.
Allerdings funktioniert das nicht, die zweite Ausgabe bleibt einfach leer.
Kurz die Funktionen:
open(): stellt Verbindung mit Proxy her, speichert OutputStream in Variable out, speichert InputStream in Variable in.
setQuery(): setzt eine Anfrage via out.write() und ruft out.flush() auf
getResponse(): liest den inputStream (in) ein und gibt das Ergebnis in einem StringBuffer zurück.
Muss ich irgendwas beachten? Geht das mit einem Proxy vielleicht nicht? Wenn ich mir selbst einen ServerSocket baue, muss ich ja nach jeder Anfrage dem Server sagen, dass er weiterhin Anfragen akzeptieren soll, da er sonst ja nur eine Anfrage / Verbindung akzeptiert. Ist das bei einem Proxy auch der Fall? Muss ich quasi für jede Anfrage eine eigene Verbindung aufbauen? Weil das ist nicht gerade performant...
Danke & viele Grüße,
Martin