Wpis z mikrobloga

#java #programowanie

Mam dziwny problem. Piszę sobie komunikator internetowy. Jak na razie mam szkielet - podstawowy serwer itd. Ogólnie to serwer będzie działać na moim NAS (takie moje widzimisię) a dostęp do niego chcę zrealizować przez Manager. W tym celu, w momencie zmiany stanu (ilości podłączonych klientów przykładowo) serwer wysyła zserializowany obiekt Management zawierający kilka intowych pól - liczba podłączonych klientów itp. Manager go odbiera no i tu jest problem. Pierwsze odebranie jest ok, a potem nawet gdy dojdą nowi klienci to manager odbiera obiekt, ale wyświetla starą informację (serwer na pewno dobrze wysyła, bo mam podgląd co wysyła). Wcześniej wysyłałem serializacją Stringa i było ok, a teraz nie działa. Wygląda to tak, jakby problem był z samą klasą Management - http://pastebin.com/ibcAb02a Pomoże ktoś?
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Sebaall: Ciężko tak zdiagnozować zwłaszcza ze jestem w autobusie. Jak dojadę do domu i nikt Ci tu nie odpowie to spróbuje sobie to uruchomić. Tylko musiałbyś wrzucić jeszcze klasę serwera. Sam jestem ciekaw wtf. Jak podłączasz się pierwszym klientem to jest 1 i jak rozumiem przy kolejnym kliencie dalej jest 1 czy jak?
  • Odpowiedz
@Legol: Uruchamiam serwer, podłączam klientów, uruchamiam Managera, dodaje kolejnego klienta, Manager otrzymuje obiekt klasy Management z poprawną ilością klientów. Odłączam/podłączam klienta, Manager otrzymuje obiekt klasy Management ale tak jakby niezmieniony, a wg podglądu na serwerze została wysłana poprawna informacja.
  • Odpowiedz
@Sebaall: Hehe jak sobie to zaczytalem i obczailem to dopiero zrozumialem jak Ty to robisz. Jednak zobaczyc kod a przeczytac opis slowny to niebo a ziemia. Dobra teraz mi napisz po kolei w krokach co robisz co sie wyswietla a co powinno.
  • Odpowiedz
@Sebaall: Odnosnie jeszcze rozwiazania to proponowalbym do komunikacji miedzy procesami korzystac z tak zwanych DataTransferObject (DTO). Prostych obiektow bez metod z logika typu increase decrease,ktorych przy kazdym wyslaniu tworzylbys nowa instancje, zwlaszcza ze obiekt Management jest synchronizowany i dosc istotne jest zachowanie jego niezmiennosci.
  • Odpowiedz