Java客户端 - 服务器流初始化

时间:2016-03-07 22:57:13

标签: java stream initialization client-server

我真的不明白为什么必须在客户端类中初始化objectInputStream之前初始化objectOutputStream。

如果我不这样做:

ObjectOutputStream clientOutputStream = new ObjectOutputStream(socketConnection.getOutputStream()); ObjectInputStream clientInputStream = new ObjectInputStream(socketConnection.getInputStream());

我会遇到一个循环。

有没有人可以向我解释一下?

1 个答案:

答案 0 :(得分:1)

你不会遇到循环。你会遇到僵局。

构造ObjectInputStream通过在对等体上构造ObjectOutputStream来读取放置在那里的流标头。因此,如果您在两端首先构造ObjectInputStream,则双方都在等待另一方。如果你总是首先构造ObjectOutputStream,那么对等体的作用并不重要。