-2
我们已经构建了一个系统适配器(客户端)和一个SUT(服务器)以便通过套接字在它们之间发送字符串消息。我的意图是做测试用例。 客户端发送一个命令,sut会做一些事情并发送响应。 一切都做得很好,但被送到第四响应后,通过在5日已被发送的时候,我遇到了以下问题:客户端服务器套接字通信
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at Interface.run(Interface.java:131)
at Interface.createAndShowGUI(Interface.java:382) //gui elements
at Interface.access$0(Interface.java:378) //gui elements
at Interface$1.run(Interface.java:392) //gui elements
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
do {
message = (String) in.readObject();
System.out.println("client-from server>" + message);
if (message.contains("endTC")) {
stateLabel.setText("OpenAndUnlocked");
}
else if (message.contains("closed")) {
b1.doClick();
}
else if (message.contains("lock")) {
b2.doClick();
} else if (message.contains("open")) {
b3.doClick();
} else if (message.contains("unlock")) {
b4.doClick();
} else if (message.contains("exit")) {
sendMessage("Exiting");
}
} while (!message.equals("end")); //always loop
这墙文是一个问题? :\ – theBigChalk
你已经省略了相关的代码 - 错误将涉及到'Interface.run'的定义,因为它显然期望有一个对象,但是找到流的结束。 –
可以帮助也看到发送代码...显然另一方关闭了连接。 –