GZIP

0

Mam problem z wysyłaniem i odbieraniem skompresowanych obiektów ,program zawiesza mi się kiedy tworze strumienie.
Kod :

try {
         client = new Socket("localhost", 2010);

       	        
         
         /////////////////////////////////////////////////////////////////////////////////
		   oo = new ObjectOutputStream(new GZIPOutputStream(client.getOutputStream()));
        oi = new ObjectInputStream(new GZIPInputStream(client.getInputStream())); 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////
         }
 
catch (IOException IOE) 
{ IOE.printStackTrace(); }
}

Proszę o pomoc , może ktoś widzi jakiś błąd w kodzie. Bo kompilator nie pokazuje żadnych.

0

a może tak coś więcej napisać? Tzn jaki runtime? co przesyłasz? Dostajesz wyjątki czy poprawne wywołania? itp

a sorki, napisałeś, że wieszają się strumienie. Powiedz w jakiej kolejności pobierasz strumienie po stronie serwera? Jeżeli w takiej samej jak u klienta (najpier OutputStream a potem InputStream), spróbuj po jednej stronie (klient lub serwer) zamienić kolejność

0

Przesyłam stringa , na początku po podłączeniu się do serwera klienci odbierają od niego obiekt(string) ,potem pierwszy klient wysyła dane zapisane w stringu do serwera a serwer odsyła je do drugiego klienta i odwrotnie.

0

hmm. Jeśli coś nie działa z ObjectOutputStream lub ObjectInputStream:

  1. Używaj metod writeUnshared(Object) zamiast writeObject(Object) oraz readUnshared() zamiast readObject()
  2. Po każdym odczycie lub zapisie obiektu zresetuj strumień - metoda reset()

1 użytkowników online, w tym zalogowanych: 0, gości: 1