Tag: objectinputstream eofexception

从Java中的ObjectInputStream连续读取对象

我在使用ObjectInputStream时遇到了问题,现在我已经苦苦挣扎了2天。 我试图寻找解决方案,但遗憾的是找不到合适的答案。 我正在尝试编写客户端/服务器应用程序,其中客户端将对象(在本例中为配置类)发送到服务器。 这个想法是在发送对象之后连接保持活动,因此可以在必要时发送新对象。 以下是我的客户端代码的重要部分: mSocket = new Socket(“192.168.43.56”, 1234); mObjectIn = new ObjectInputStream(mSocket.getInputStream()); mObjectOut = new ObjectOutputStream(mSocket.getOutputStream()); mObjectOut.writeObject(stubConfig); mObjectOut.flush(); 在上面的代码中,我省略了一些try / catch块以保证代码对您可读。 服务器端看起来如下: mHostServer = new ServerSocket(port); mSocket = mHostServer.accept(); // create streams in reverse oreder mObjectOut = new ObjectOutputStream(mConnection.getOutputStream()); mObjectOut.flush(); mObjectIn = new ObjectInputStream(mConnection.getInputStream()); while (mIsSocketConnected) { StubConfig = (StubConfiguration)mObjectIn.readObject(); } 我想要实现的是,只要socketconnection处于活动状态,服务器就会监听传入的配置对象。 然而,当我运行我的程序时,我在服务器端的while循环中得到了一个EOFException。 […]

编写和读取servlet时的java.io.EOFException

我在applet端有以下代码: URL servlet = new URL(appletCodeBase, “FormsServlet?form=requestRoom”); URLConnection con = servlet.openConnection(); con.setDoOutput(true); con.setDoInput(true); con.setUseCaches(false); con.setRequestProperty(“Content-Type”, “application/octet-stream”); ObjectOutputStream out = new ObjectOutputStream(con.getOutputStream()); out.writeObject(user);//user is an object of a serializable class out.flush(); out.close(); ObjectInputStream in = new ObjectInputStream(con.getInputStream()); status = (String)in.readObject(); in.close(); if(“success”.equals(“status”)) { JOptionPane.showMessageDialog(rootPane, “Request submitted successfully.”); } else { JOptionPane.showMessageDialog(rootPane, “ERROR! Request cannot be made […]