我正在编写服务器端应用程序,它通过RTMP处理来自Flash的传入请求。在服务器端,我有简单的阻塞IO。
我注意到当InputStream.read
返回-1时会终止超过10-30%的会话,这应该表示流的结束。这些请求在用户会话开始时终止,所以我真的不认为用户关闭了他们的浏览器......
尝试写入流时不常发生java.net.SocketException: Broken pipe
异常。
看起来很可疑,我收到了很多时间的蒸汽结束。在谈话开始时接收end of stream
的原因是什么?
答案 0 :(得分:0)
客户已经过早地从您的角度关闭了连接。这解释了-1和'破管'。接受它并处理它。通常,对等体应该能够在任何步骤退出对话。