我正在开发一个简单的客户端/服务器程序,现在它应该做的就是在连接时从客户端向服务器发送一个对象,然后从服务器发送一个包含响应的对象。
我的对象应该发送用户名和密码。是的,我知道还有其他方法可以验证 TCP 连接,但这是一个测试,可以帮助我在使用 java 联网时涉足。
我的对象是这样写的:
import java.io.Serializable;
public class AuthAccount implements Serializable{
private static final long serialVersionUID = -8918729105550799244L;
private String username;
private String password;
AuthAccount(String user, String pass){
username = user;
password = pass;
}
String username(){
return username;
}
String password(){
return password;
}
}
套接字连接成功,但在这一行(oos
is ObjectOutputStream
)失败:
System.out.print("Sending login object to server...");
oos.writeObject(new AuthAccount("user", "password"));
System.out.println("Done!");
我不断收到错误:
java.io.NotSerializableException: AuthAccount
我已经尝试使用 AuthAccount 测试类char[] username = new char[30];
,以便拥有一个固定大小的对象。我更像是一个 C++ 人,但对于这个项目,java 对我来说很有意义。