Sockets und gzip

Status
Nicht offen für weitere Antworten.

sp19

Mitglied
Hallo,
bin gerade frisch am Java lernen, also nicht böse sein wenn ich nicht gleich alles verstehe bzw. Anfänger fragen stelle :)

Habe gerade kleines bsp. aus einem Buch gemacht, wo ich als Client nach Daten frage und vom Server gezipte Daten bekomme.

Also in etwa:
Code:
new GZIPInputStream( clientsocket.getInputStream());

Aber was ist, wenn ich das nicht so hardcodieren will, d.h. ich vorher nicht weiss ob der Server gzip sendet oder nicht.

Also ich mache ein request mit:
Code:
out.write("GET .........")
out.write(Accept-Encoding: gzip");

Wenn nun der Server gzip unterstüzen würde, dann steht ja im Header "content-encoding: gzip" und ich brauch einen GZIPInputStream. Wenn er kein gzip sendet brauch ich ja einen normalen InputStream.

Wie kann ich das unterscheiden? D.h. ich müsste doch schon bevor ich den Stream wähle, wissen ob nun gzip gesendet wird oder nicht.


thx
MFG
sp19
 

sp19

Mitglied
hi,
ich nochmal.

kann es sein das ich dann erst mit dem normalen InputStream den header einlesen muss, danach auswerten und ggf. in den GZIPInputStream wechseln muss?

Ist das so eine richtige bzw. gute lösung, oder gibt es bessere?

was ich allerdings nicht weiss ist, wann der header zu ende ist, und ab wann die daten kommen...
 
T

tuxedo

Gast
Sieht mir stark nach HTTP aus.

Hab das bei mir damals so gemacht:

Code:
if (_urlConn.getContentEncoding()!=null && _urlConn.getContentEncoding().contains("gzip")) {
				if (DEBUG) System.out.println("gzipped input");
				GZIPInputStream is = new GZIPInputStream(_urlConn.getInputStream());
}

Wobei _urlConn vom Typ "URLConnection " ist...

Gruß
Alex
 

sp19

Mitglied
ah, thx.
kannte diese klasse noch nicht, damit gehts aber recht einfach :)

aber im allgemeinen sollte sowas auch mit sockets funktionieren, oder?
ich denk mal URLConnection verwendet intern auch nur sockets...oder?
 
T

tuxedo

Gast
?? Der Header hat mehrere Zeilen, ergo müsste es mehrere Zeilenumbrüche geben. Also reicht das abprüfen auf EINEN Zeilenumbruch nicht.

Nebenbei wurde das Problem schon durch den Einsatz von "UrlConnection" gelöst.

- Alex
 
G

Guest

Gast
ok dann korregiere ich...es ist CRLF :lol:

der header ist immer (rfc) mit einer leerzeile von den daten getrennt.


und ein problem wurde hier nicht gelöst, da es nie eins gab. der themenstarter ist am java lernen, da ist es nicht förderlich fragen offen zu lassen in dem man auf andere klassen ausweicht.


aber wenns nicht gerade zum spielen ist, würde ich auch die HttpURLConnection nehmen...
 
T

tuxedo

Gast
So viel besser ist die Klasse HttpUrlConnection auch wieder nicht.

Einen Anfänger anzuleiten (und auch nicht falsch und ohne weiteren Details/Erkläörungen) das HTTP Protokoll auf Clientseite selbst zu implementieren... Na ich weiß nicht. Ölwechseln lernt man ja auch vor dem Motor austauschen ...

Naja. Im Forum anmelden könnt dir als "Experten" ja auch nicht schaden ;-) Vielleicht lernst du ja noch was?

- Alex

P.S.

CRLF == \r\n != \n\r ... Aber das wusstest du sicher schon, oder?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jannn Socket Sockets an ein anderes Gerät weiterreichen? Netzwerkprogrammierung 8
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
E Socket Parameter über Sockets übergeben und auslesen ! Netzwerkprogrammierung 5
D Socket Verwirrung bei Sockets Netzwerkprogrammierung 1
E Mehrere Sockets Netzwerkprogrammierung 2
N Fragen zu Sockets Client Netzwerkprogrammierung 3
A Sockets Serialisierung Netzwerkprogrammierung 1
K Threads closen und Sockets schliessen Netzwerkprogrammierung 5
H Sockets oder HTTP- Methoden? Netzwerkprogrammierung 3
T Socket Bidirektionale Verbindung mit Sockets Netzwerkprogrammierung 8
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
C Socket Datagram-Sockets mit integrierter Message Queue? Netzwerkprogrammierung 2
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
F Technologiewahl: Swing/RMI/Sockets Netzwerkprogrammierung 13
B Sockets, Threads & Plugins Netzwerkprogrammierung 7
T Verbindungsversuche über TCP Sockets von mehreren Threads führt zu Serverabsturz Netzwerkprogrammierung 2
D Mehrere Clients über Java-Sockets Netzwerkprogrammierung 13
F FTP Client mit Sockets - wann sagt der Server nichts mehr? Netzwerkprogrammierung 7
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
M Socket Sockets Grundlage Netzwerkprogrammierung 25
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
D Socket Raw Sockets mit java.net.*? Bsp ICMP Netzwerkprogrammierung 7
H Komprimierte Sockets Netzwerkprogrammierung 4
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
L Sockets übergeben Netzwerkprogrammierung 4
G NIO Sockets Architektur Problem Netzwerkprogrammierung 2
S Problem bzgl. Sockets / Server-Client-Struktur Netzwerkprogrammierung 3
B Socket Was muss man bei Sockets beachten? Netzwerkprogrammierung 10
N Socket Sockets und Events Netzwerkprogrammierung 11
A Programm umschreiben von Pipes auf Sockets Netzwerkprogrammierung 12
B Paralleler Dateitransfer: Ein Client - Mehrere Sockets? Wie connecten? Netzwerkprogrammierung 16
D RMI oder Sockets Netzwerkprogrammierung 4
P Sockets +Port Forwarding = Chaos Netzwerkprogrammierung 4
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
Q Thread und Sockets... Netzwerkprogrammierung 2
G Sockets und HTTP: Ende des Datenempfangs erkennen Netzwerkprogrammierung 3
J Array oder Object über Sockets Netzwerkprogrammierung 8
O Sockets -- Einsieg Netzwerkprogrammierung 3
B Nachricht über Sockets kommt nicht an Netzwerkprogrammierung 8
data89 Sockets: ein alter Hut - für Euch - für mich nicht! Netzwerkprogrammierung 10
S Wiedereinmal Sockets ;-) Netzwerkprogrammierung 15
J Ascii / Unicode bei Sockets? Netzwerkprogrammierung 2
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
K "Ende eines Sockets" Netzwerkprogrammierung 9
A Sockets Netzwerkprogrammierung 10
feuervogel Sockets - Lokalen Port aber nicht IP bestimmen Netzwerkprogrammierung 3
C Einfacher Filedownload mit Sockets geht nicht für pdffiles Netzwerkprogrammierung 16
E Sockets, readLine() Netzwerkprogrammierung 7
M Sockets und InputStream Netzwerkprogrammierung 8
G Verbindung über Sockets Netzwerkprogrammierung 2
S zip-files über sockets übertragen Netzwerkprogrammierung 11
G immer wieder gleiche Sockets Netzwerkprogrammierung 2
V Suche Alternative zu Sockets Netzwerkprogrammierung 3
E Problem bei Sockets/InputStream über externe Klasse Netzwerkprogrammierung 5
A Datenverlust (zuviele Daten!) über Sockets Netzwerkprogrammierung 4
AlClemento Sockets -> BufferedReader Problem Netzwerkprogrammierung 2
F Problem mit Threads und Sockets Netzwerkprogrammierung 3
B Übertragung via Sockets Netzwerkprogrammierung 12
C Dateien über Sockets versenden? Netzwerkprogrammierung 10
T Sockets Verständnisfrage: abwechelnd lesen-schreiben Netzwerkprogrammierung 4
S Habe ein Problem mit Sockets -> Client Server Netzwerkprogrammierung 2
G Strings über Sockets senden Netzwerkprogrammierung 5
P Probleme mit einem Array aus Sockets Netzwerkprogrammierung 2
Y buch: Netwerprogrammierung und Sockets Netzwerkprogrammierung 2
B Eigenes Protokoll über Sockets verschicken Netzwerkprogrammierung 4
P Welche Art von Sockets für ein Spiel? Netzwerkprogrammierung 3
C Sockets über Internet Netzwerkprogrammierung 10
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
S Objekte zwischen Client und Server über Sockets senden Netzwerkprogrammierung 2
Z chat: wann http und wann sockets verwenden? Netzwerkprogrammierung 11
D Java Sockets Probs Netzwerkprogrammierung 4
N Verarbeitung nach Weiterleitung in Sockets Netzwerkprogrammierung 2
A Serialisierung über Sockets möglich? Netzwerkprogrammierung 3
M sockets (security) Netzwerkprogrammierung 2
C IRC CHAT auslesen -> Sockets/input und output Streams Netzwerkprogrammierung 9
D GZIP InputStream lesen ohne zu encoden Netzwerkprogrammierung 1
W HTTP Apache HttpComponents und GZIP Netzwerkprogrammierung 2
J gzip Stream weiterleiten Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben