使用java中的套接字进行对象转移
if(server&&network){
try{
serverSocket = new ServerSocket(12345);
socket = serverSocket.accept();
System.out.println("Connected to " + socket.getInetAddress().getHostName());
out = new ObjectOutputStream(socket.getOutputStream());
in = new ObjectInputStream(socket.getInputStream());
out.writeObject(lou);
out.flush();
out.reset();
out.writeObject(dud);
out.flush();
out.reset();
me = new Gen(lou, dud);
//socket.close();
//serverSocket.close();
}catch(IOException ioException){
ioException.printStackTrace();
}
}else if(network&&!server){
try{
//Socket socket = new Socket("10.69.18.244", 12345);
socket = new Socket("192.168.1.100", 12345);
//Socket socket = new Socket("10.69.18.162", 12345);
out = new ObjectOutputStream(socket.getOutputStream());
in = new ObjectInputStream(socket.getInputStream());
lou = (ArrayList)in.readObject();
//in.reset();
dud = (ArrayList)in.readObject();
//in.reset();
me = new Gen(dud, lou);
//socket.close();
}catch(Exception ioException){
ioException.printStackTrace();
}
}
当我尝试在服务器上使用out.writeobject(lou)
时,出现NullPointerException。客户端抛出一个NotSerializableException
。我不知道为什么,因为我正在初始化它。使用java中的套接字进行对象转移
你想打开一个连接并保持整个游戏的开放。
这就是我想要做的。我发布的代码是我认为我必须做的每一个循环,保持连接打开。但它抛出了一些错误 – user2054739 2013-02-08 19:32:11
@ user2054739 - 我应该猜测哪些错误?暗示,当试图获得帮助时,不要从你认为的答案开始,从_actual_问题开始,并包括所有相关细节。 – jtahlborn 2013-02-08 19:43:04
@ user2054739 - 根据你包含的一小段代码做一个疯狂的猜测,'in.reset()'会导致问题。我建议阅读关于该方法的javadoc,因为它不会执行您认为正在执行的操作。 – jtahlborn 2013-02-08 19:45:13
请正确使用术语。 “实时”在计算中具有特定的含义,这不是它。你的意思是“真实世界”吗?或'及时'? – EJP 2013-02-08 20:37:04