在java中序列化对象时的EOF?

时间:2015-12-20 00:31:31

标签: java sockets serialization

我是java socket编程的新手。

我的问题:我有服务器放入while循环以继续工作。

服务器有很多功能要做......其中一个就是添加一些数据。

我在客户端中序列化一个类的对象,然后将其发送到服务器。它成功完成但是当我在工作客户端程序中尝试重复此步骤时,我收到错误java.io.EOFException

我的客户代码:

// some data put in object named (p) of class (Product).

Socket s = new Socket("localhost",4000);
PrintStream ps = new PrintStream(s.getOutputStream());
ps.println("Add Product");
ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream());
out.writeObject(p);
out.close();

我的服务器代码:

int i = 0;
ServerSocket s1 = new ServerSocket(4000); 
String request = null;
while(i == 0)
{
Socket ss = s1.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(ss.getInputStream()));
request = in.readLine();

switch(request){
case "Add Product":
ObjectInputStream inn = new ObjectInputStream(ss.getInputStream());
Product pr = (Product)inn.readObject();
inn.close();
e.add_product(pr);
break;

} // end of switch case.
} // end of while loop.

0 个答案:

没有答案