ObjectInputStream zawiesza program.

0

Mam problem z ObjectInputStream.
Próbuję zrobić coś takiego:

Socket socket = new Socket(adresIp, 2510);                        
in = new ObjectInputStream(socket.getInputStream());

Niestety po otwarciu socketu program zawiesza się. Nie wiem dlaczego.

0

Zawiesza się czyli czeka na otwarcie socketa?

0

Nie. socket otwiera się normalnie (sprawdzałem Debugerem).
Gdy za-komentuje drugą linie kodu, to program działa dalej do momentu gdy się wywali z powodu null w in.

0

Byl jakis czas temu podobny temat. ObjectInutStream (OIS) w konstruktorze probuje wczytac jakiestam bajty ze strumienia ktorego opakowuje, i jest to operacja blokujaca. ObjectOutputStream (OOS) w konstruktorze zapisuje te bajty do strumienia ktory opakowuje. Wniosek - druga strona socketa ktorego uzywasz (jego OOS) musi zapisac te bajty, czyli zostac utworzony, wtedy przestanie blokwac program.

0

Dzięki... Problem był w tym, że wątki serwera i klienta blokowały się wzajemnie. Musiałem zamienić konstruktory miejscami.
Teraz już działa.

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