我们有一个正在通过套接字与Flash客户端通信的应用程序。消息采用XML格式,并且不能太长,最多1000个字符。

更新后,客户端未正确接收到消息-末尾缺少一个字节。第一条消息正确,第二条消息的末尾缺少该字节,并且由于解析错误,Flash停止了。

该应用程序在生产环境中的Linux上运行,但是我能够在Windows的开发环境中复制该错误。

通信使用两个类:

<a href="http://pastebin.com/3dd2Jzsq">WrappedInputStream</a>


<a href="http://pastebin.com/hwVwNe4A">WrappedOutputStream</a>

我可以修改Java源代码,但是不能修改Flash客户端。

Java更新后,还有其他人遇到过类似的问题吗?有办法解决吗?

最佳答案

我会在使用ByteArrayInputStream和ByteArrayOutputStream和/或PipedInputStream + PipedOutputStream的地方编写一些单元测试,并尝试模拟问题。

也就是说,如果这确实是Java问题,那么您应该能够编写一个自包含的测试,该测试会失败(基于您看到的Flash失败的结果)

07-28 02:32
查看更多