gpt4 book ai didi

java - 在服务器客户端应用程序中使用 ObjectInputStream 发生 ClassCastException

转载 作者:太空宇宙 更新时间:2023-11-04 12:39:41 25 4
gpt4 key购买 nike

我试图通过套接字发送一个对象,但是当我想读取客户端中的对象时,我得到了 java.lang.ClassCastException。

我的对象如下,我在两个项目(服务器和客户端)中都有它。

class Data implements Serializable{

int height;
int width;
int max;
int zoom;
int start;
int end;
int xMove;
int yMove;

public Data(int height, int width, int max, int zoom, int start, int end, int xMove, int yMove){
this.height = height;
this.width = width;
this.max = max;
this.zoom = zoom;
this.start = start;
this.end = end;
this.xMove = xMove;
this.yMove = yMove;
}
}

发送部分:

try{
Data dataToSend = new Data(height, width, max, zoom, start, end, xMove, yMove);
out.writeObject(dataToSend);
}

接收器部分:

try{
InputStream is = socket.getInputStream();
Data dataToRead = (Data)ois.readObject();
}

错误消息:

java.lang.ClassCastException: lab05_server.Data cannot be cast to lab05_kliens.Data

我尝试了所有方法,结果都一样。我找不到我的错误。

感谢您的帮助。

最佳答案

您需要将相同的 SerializedID 添加到两个数据类中,请查看:this

关于java - 在服务器客户端应用程序中使用 ObjectInputStream 发生 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com