无法看到创建的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

回到顶部