我是一名新手,正在学习Java网络编程。
我编写了一个简单的客户端-服务器代码,用于从客户端向服务器发送一个类对象。
我使用了PrintStream
来发送对象,并且发送成功了。但是,当我使用BufferedReader
来接收对象时,在服务器端无法接收到。
客户端代码:
public class Client3 {
public String username;
public String password;
public static void main(String argv[]) throws IOException
{
Client3 account = new Client3();
account.username = "PJA";
account.password = "123456";
Socket s = new Socket("localhost",6000);
PrintStream pr = new PrintStream(s.getOutputStream());
pr.println(account);
}
}
服务器代码:
public class Server3 {
public static void main(String argv[]) throws IOException
{
ServerSocket s1 = new ServerSocket(6000);
Socket s = s1.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
Client3 a = new Client3();
a = in.readLine(); // give a compilation error.
}
}
readline()
抛出编译错误,因为它只接受字符串。
所以我的问题是:"有没有一种方法可以接收类的对象?"