我真的不明白为什么在客户端类中的对象输入流初始化之前必须初始化objectOutputStream。
如果我不这样做:
ObjectOutputStream clientOutputStream = new
ObjectOutputStream(socketConnection.getOutputStream());
ObjectInputStream clientInputStream = new
ObjectInputStream(socketConnection.getInputStream());
我会陷入一个循环。
有人可以向我解释吗?
你不会遇到循环。你会遇到僵局。
构造ObjectInputStream
读取通过在对等方构造ObjectOutputStream
而放置在那里的流标头。因此,如果你先在两端构建ObjectInputStream
,双方都在等待对方。如果你总是先构造ObjectOutputStream
,那么对等方做什么并不重要。