Błędne wartości przesyłane po sockecie

0

Witam,
mam problem z przesyłaniem informacji po sockecie. Co najśmieszniejsze kod na początku działał bezproblemowo, jednak po kilku uruchomieniach zaczął pokazywać dziwne wartości.
Ale może konkretniej, to jest część kodu z serwera:

            typ=recvdata.readInt();
            if(typ==1) //LOGOWANIE
            {            
                user=(Person) recv.readObject();
                db.q="select * from Person where login='"+user.login+"'";
                db.query();
                db.rs.next();
                if(db.rs.getString(3).equals(user.password))
                {
                    senddata.writeInt(db.rs.getInt(9));
                }
                else
                {
                    senddata.writeInt(0);
                }
            }

A teraz z klienta:

            senddata.writeInt(1);
            send.writeObject(user);
            user.rights=recvdata.readInt();
            System.out.println(user.rights);

Najpierw klient wysyła informację o typie wiadomości do serwera, potem pewien obiekt z danymi, następnie serwer odsyła informację z bazy danych. Drugie senddata w serwerze wysyła normalną liczbę dodatnia (1,3), ale klient odbiera wartość -1393754107. Jak już wyżej pisałem, na początku chodziło to normalnie. Co się mogło skopać?

0

Jaki masz timeout ustawiony? Jak nie masz to ustaw na 5000 = 5s i sprawdz

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