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ć?