我们有一个应用程序正在通过套接字与Flash客户端通信。这些消息是XML格式,不会太长,最多可达1000个字符。从6.21到6.31的Java更新后,应用程序无法正常工作
更新消息不被在客户端侧正确地接收后 - 一个字节丢失在末端。第一条消息是正确的,从第二条消息的末尾丢失该字节,由于解析错误,Flash停止。
应用在生产上运行Linux,但我可以复制错误在Windows我的开发环境。
有用于通信两类:
<a href="http://pastebin.com/3dd2Jzsq">WrappedInputStream</a>
和
<a href="http://pastebin.com/hwVwNe4A">WrappedOutputStream</a>
我可以修改Java源代码,但我不能够修改Flash客户端。
任何人都经历了类似的问题在Java更新后?有没有办法如何解决它?
所以WrappedOutputStream是相同,除了它的BufferedOutputStream发送一个0和冲洗()时关闭()被调用? WrappedInputStream是一个BufferedInputStream,它在调用close()时跳到0。 – 2012-04-13 12:15:19
是的,我认为是。不幸的是,应用程序的通信部分不是由我做的。无论如何,它一直运行良好,直到更新。 – miloxe 2012-04-13 12:31:42
@PeterLawrey不,它没有做任何这样的事情。 JavaDoc说它做了什么,但。 – 2012-04-13 13:35:13