Java套接字读取错误异常与返回代码
我可以使用以下循环从套接字读取数据Java套接字读取错误异常与返回代码,java,sockets,exception,networking,connection,Java,Sockets,Exception,Networking,Connection,我可以使用以下循环从套接字读取数据 InputStream in = getInputStream(); int retCode; try { while( ( retCode = in.read()) > -1) { // do something } logger.info( "Done reading : Code " + retCode); } catch( IOException ioe) { logger.warning( "IOException w
InputStream in = getInputStream();
int retCode;
try {
while( ( retCode = in.read()) > -1) {
// do something
}
logger.info( "Done reading : Code " + retCode);
} catch( IOException ioe) {
logger.warning( "IOException while reading : " + ioe.getMessage());
}
有时连接会中断,这是意料之中的,但结果是不一致的我得到一个异常,或者retCode=-1
因此,我的问题是,在读取套接字时,什么决定异常与返回代码?正如@PeterLawrey正确地提到的那样 如果.read()中的
返回-1,则表示到达流的末尾
流/通信故障不可用时的异常取决于引发的异常类型
正如@PeterLawrey正确地提到的
如果.read()中的返回-1,则表示到达流的末尾
流/通信故障不可用时的异常取决于引发的异常类型
这取决于断开连接的方式。如果流完全关闭,您将得到-1,但是如果连接超时,您将得到一个异常;异常表示流可能以某种方式被截断。这取决于连接的断开方式。如果流完全关闭,您将得到-1,但是如果连接超时,您将得到一个异常;异常表示流可能以某种方式被截断。