在我的程序中,我在服务器和客户端之间使用ObjectInput和ObjectOutput流。在处理我的项目时,我已经制作了许多测试类和项目来测试我的新工具,有时当我创建一个ObjectInputStream时它会被卡在那里。我也看了oracle,看看他们是否有答案,但我不知道我需要做什么。
Oracle说“从流中读取序列化流标头并进行验证。此构造函数将阻塞,直到相应的ObjectOutputStream已写入并刷新标头。”
我知道数据必须被序列化才能发送,我的类实现了Serializeable,虽然我觉得它对解决我的问题没有多大帮助。在一些测试项目中,我一直在使我的ObjectInputStreams运行良好,有时它会冻结。
非常感谢任何帮助, 感谢
答案 0 :(得分:0)
您的问题非常模糊,但通常每个对等方都会在同一个套接字上创建B::getSize()
和ObjectOutputStream
。它必须按顺序完成,否则你可能会遇到死锁,并且出于同样的原因,只要你在两端获得套接字就需要它完成。