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