【发布时间】:2012-07-29 13:17:20
【问题描述】:
在客户端和服务器类中,我都有一个完全相同的内部类,称为 Data。此数据对象正在从服务器发送,使用:
ObjectOutputStream output= new ObjectOutputStream(socket.getOutputStream());
output.writeObject(d);
(其中 d 是一个数据对象)
这个对象在客户端被接收并转换成一个Data对象:
ObjectInputStream input = new ObjectInputStream(socket.getInputStream());
Object receiveObject = input.readObject();
if (receiveObject instanceof Data){
Data receiveData = (Data) receiveObject;
// some code here...
}
我在这条线上收到了一个java.lang.ClassNotFoundException: TCPServer$Data Object receiveObject = input.readObject();
我的猜测是它试图在服务器端寻找 Data 类但找不到它,但我不确定......我该如何解决这个问题?
【问题讨论】:
-
您似乎有重复的 Data 内部类代码。在客户端,什么类有内部类Data?你在客户端也有 TCPServer 类吗?
-
向我们展示包含上述代码的客户端类的导入。
-
Data 是 TCPServer.java 和 TCPClient.java 中的一个内部类。 TCPClient.java中发生异常
-
我认为如果它是 TCPServer 和 TCPClient 中的内部类,那将不起作用。它必须是它自己的类,或者您需要客户端上可用的 TCPServer$Data 类。
-
谢谢!我现在正在尝试! :)
标签: java tcp classnotfoundexception objectoutputstream objectinputstream