无法看到创建的ObjectInputStream
后打印的消息我写了下面的program.As你可以看到我已经把打印信息创建ObjectInputStream的对象ois.I后有被打开的服务器的端口9090.As你可以从上面的netstat消息中看到无法看到创建的ObjectInputStream
sudo netstat -al | grep 9090 tcp6 0 0 [::]:9090 [::]:* LISTEN
我不知道为什么打印信息显示在屏幕上。
import java.io.IOException; import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.ClassNotFoundException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class MyClient {
public static void main(String[] args) {
int count = 0;
try {
/*
* Create a connection to the server socket on the server application
*/
InetAddress address = InetAddress.getByName("localhost");
Socket socket = new Socket(address, 9090);
/*
* Read and display the response message sent by server application
*/
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
System.out.println("Created client socket and Input Stream Reader");
while (true) {
if (count < 1000) {
String message = (String) ois.readObject();
System.out.println("OFMessage: " + message);
count++;
} else {
break;
}
}
ois.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
回答:
构造函数到ObjectInputStream
从流中读取 - 基本上它读取头信息。
因此,如果您正在与之通话的服务器没有写入任何数据,您的程序将只是坐在那里,等待头文件实际写入。
如果碰到在调试器打破运行此代码的时候,我想你会发现堆栈跟踪包括ObjectInputStream.readStreamHeader
。
以上是 无法看到创建的ObjectInputStream 的全部内容, 来源链接: utcz.com/qa/260864.html