在我正在为大学工作的这个 Java 项目中,我有一种情况,我目前正在通过网络成功发送字符串
streamOut = ObjectOutputStream
streamIn = ObjectInputStream
streamOut.writeUTF(msgs.peek());
其中 msgs 是一个链接的阻塞队列,接收它
String in = streamIn.readUTF();
但是,我想使用 ObjectInputStream 和 ObjectOutputStream。我已经在构造函数中初始化了它们,并且在构造它之后刷新了 ObjectOutputStream,我在某个地方读到了你必须这样做。
我想同时发送字符串和另一种对象类型,通过网络将其称为gameWorld(此时不关心效率)..但是当我这样做时
streamOut.writeObject("mad cuz i'm bad");
Object in = streamIn.readObject();
if(in instanceof String) String inS = (String) in;
当我发送字符串时它没有收到任何东西......我的朋友正在做同一个项目,他只传递了一种类型的对象,这个对象的一个子类本质上是一个字符串,他的版本工作正常,但他在线程运行循环的每次迭代中都会创建一个新流。
我是否需要对流做一些事情来接收除了 Object 之外没有共同祖先的不同对象,我是否需要在运行循环的每次迭代中创建一个新流,或者我是否完全有其他东西丢失并且我提供的信息不足以说明问题所在?