2010-08-26 8 views
5

Ich habe eine Erlang-App, die eine große Anzahl von HTTP-Client-Anrufe mit Hilfe von Inets macht. Ich möchte meine Bandbreite bill reduzieren, indem ich von den Servern, die es bereitstellen, Gziped-Daten akzeptiert. Gibt es dafür eine Option von inets? [kann keinen finden]. Gibt es eine Zip-Bibliothek, die jeder empfehlen kann? [Ich habe mir die stdlib zip-Bibliothek angeschaut, aber es scheint, dass nur die Archive entpackt werden, anstatt einzelne Streams zu dekomprimieren].Entpackte Daten in Erlang komprimieren

Danke!

Antwort

2

Schauen Sie sich zlib Modul an. Siehe auch file:open/2 Option compressed für mögliche zukünftige Verwendung. Beachten Sie, dass zip und zlib aka gzip nicht dasselbe ist. Ich denke, du bemerkst es schon.

Betrachten Sie http://blog.gebhardtcomputing.com/2007/09/grab-webpage-in-erlang-which-is-gzipped.html für einige Inspiration, aber Sie werden wahrscheinlich Streaming benötigen, die in der Handbuchseite gut beschrieben ist.

+0

zlib: gunzip funktioniert hervorragend für gezippte Daten; Irgendwelche Ideen, wie [http] Inhalte, die mit "deflate" kodiert sind, analysiert werden? – Justin

0

Ich würde vorschlagen, Komprimierung/Dekomprimierung am HTTP-Frontend (Nginx, Apache, etc) zu tun. Dies wird optimaler sein.