Could anyone help me with the following problem? I know what the problem is but I cannot understand why. I am using netbeans to create a client/server application. I have three packages within a project (1) "main package" from where the user can trigger either the client component or the server component. (2) "client core" package include all the files of the client (3) "server core" package include all the files of the server. In general I have 2 independent components one for the client and one for the server but under the same pack.
In both "client core" and "server core" packages I have a custom object called "USER.java" this is identical to both packages. I want to send a "USER" object over a socket from server to client. Now the problem, when I try to sent this object over the socket when the client receives it and tries to read the object e.g
User test = (User) in.readObject();
I get the following error :
CoreServer.User cannot be cast to CoreClient.User
java.lang.ClassCastException: CoreServer.User cannot be cast to CoreClient.User
Thanks in advance. If you need more code I will post it. Thanks
a class is defined by both its name and its package. "CoreServer.User" is not the same class as "CoreClient.User" (as the exception told you). you have to pick one package and use it in both the client and server.
He means that even if your classes are identical in every way, if they're not in the same package, they're not the same class.
And then you'll just be sending class A and trying to receive it as class B, resulting in error.