我們有一個應用程序正在通過套接字與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