我创建了一个serializable的类PlayerMovement,它有5个boolean类型的数据成员,然后我想通过socket通信把serverThread的movement的值传递给clientThread的movement
serverThread的代码为
while (true) {
try {
PlayerMovement sendMovement = data.getPlayerMovement(0);
System.out.print("write:");//打印sendMovement的值
sendMovement.printValue();
out.writeObject(sendMovement);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
clientThread的代码为
while (true) {
try {
PlayerMovement recMovement = (PlayerMovement) in.readObject();
gameData.setPlayerMovement(recMovement, 0);
System.out.print("read:");
recMovement.printValue();
} catch (Exception e) {
e.printStackTrace();
}
}
然后根据打印的数据,server的movement的5个boolean值是按我的设定变化的,但是client接受到的movement的5个boolean值一直都是false。这是为什么呢?
in和out是ObjectInputStream和ObjectOutputStream的对象
serverThread的代码为
while (true) {
try {
PlayerMovement sendMovement = data.getPlayerMovement(0);
System.out.print("write:");//打印sendMovement的值
sendMovement.printValue();
out.writeObject(sendMovement);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
clientThread的代码为
while (true) {
try {
PlayerMovement recMovement = (PlayerMovement) in.readObject();
gameData.setPlayerMovement(recMovement, 0);
System.out.print("read:");
recMovement.printValue();
} catch (Exception e) {
e.printStackTrace();
}
}
然后根据打印的数据,server的movement的5个boolean值是按我的设定变化的,但是client接受到的movement的5个boolean值一直都是false。这是为什么呢?
in和out是ObjectInputStream和ObjectOutputStream的对象









