Socketverbindung gzip-komprimiert
Verfasst: Donnerstag 17. Februar 2011, 20:44
Hi zusammen,
Ich stehe gerade vor einem Problem zu dem ich bis jetzt vergeblich eine Loesung gesucht habe. Ich habe ein Java-Programm das als Server fungiert. Dort werden Anfragen angekommen, bearbeitet und wieder zurueckgeliefert. Bis jetzt lief das ganze ohne Kompression und damit funktioniert es auch (unten der Javacode fuer das lesen auf dem Server und der Python-Code)
Jetzt kommt aber auf Serverseite eine Kompression dazu, die dort folgendermassen realisiert wird (Java):
Natuerlich funktioniert der obige Python-code so nicht mehr, aber ich finde nicht raus, wie ich die Verbindung von Python aus ebenfalls komprimieren kann. Ich habe schon mit zlib.compress/decompress herumprobiert, aber dann scheint zwar der Text komprimiert zu sein, Java meckert aber weil der Input kein GZIP-Stream ist. Gibt es in Python da ne Moeglichkeit?
Im Voraus schonmal vielen Dank fuer die Hilfe
Gruesse,
Daishy
Ich stehe gerade vor einem Problem zu dem ich bis jetzt vergeblich eine Loesung gesucht habe. Ich habe ein Java-Programm das als Server fungiert. Dort werden Anfragen angekommen, bearbeitet und wieder zurueckgeliefert. Bis jetzt lief das ganze ohne Kompression und damit funktioniert es auch (unten der Javacode fuer das lesen auf dem Server und der Python-Code)
Code: Alles auswählen
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String input = in.readLine();
socket.shutdownInput();
Code: Alles auswählen
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
sock.send(request)
Code: Alles auswählen
GZIPInputStream in = new GZIPInputStream(socket.getInputStream());
int c;
StringBuffer res = new StringBuffer();
while((c = in.read()) != -1) res.append((char)c);
socket.shutdownInput();
return res.toString();
Im Voraus schonmal vielen Dank fuer die Hilfe
Gruesse,
Daishy