我真的不明白为什么必须在客户端类中初始化objectInputStream之前初始化objectOutputStream。
如果我不这样做:
ObjectOutputStream clientOutputStream = new
ObjectOutputStream(socketConnection.getOutputStream());
ObjectInputStream clientInputStream = new
ObjectInputStream(socketConnection.getInputStream());
我会遇到一个循环。
有没有人可以向我解释一下?
答案 0 :(得分:1)
你不会遇到循环。你会遇到僵局。
构造ObjectInputStream
通过在对等体上构造ObjectOutputStream
来读取放置在那里的流标头。因此,如果您在两端首先构造ObjectInputStream
,则双方都在等待另一方。如果你总是首先构造ObjectOutputStream
,那么对等体的作用并不重要。