Java套接字读取方法返回-1

时间:2013-11-10 17:23:46

标签: java sockets networking serversocket

我正在编写服务器端应用程序,它通过RTMP处理来自Flash的传入请求。在服务器端,我有简单的阻塞IO。

我注意到当InputStream.read返回-1时会终止超过10-30%的会话,这应该表示流的结束。这些请求在用户会话开始时终止,所以我真的不认为用户关闭了他们的浏览器......

尝试写入流时不常发生java.net.SocketException: Broken pipe异常。

看起来很可疑,我收到了很多时间的蒸汽结束。在谈话开始时接收end of stream的原因是什么?

1 个答案:

答案 0 :(得分:0)

客户已经过早地从您的角度关闭了连接。这解释了-1和'破管'。接受它并处理它。通常,对等体应该能够在任何步骤退出对话。