1

尝试从服务器读取一些图像文件并使用套接字编程。

但是当没有文件存在时,我得到了 socketTimeOut 异常。不仅失去与服务器的连接。

当不存在文件时,如何避免丢失与服务器的连接。

InputStream inputStream = new BufferedInputStream(socket().getInputStream());

int i = -1;
while ((i = bufferedInputStream.read()) != -1) {
byteArrayOutputStream.write(i);
}

在上面的代码中,当我在 bufferedInputStream 上调用 read() 时,我遇到了异常。如何处理此异常并失去与服务器的连接。

谢谢

4

1 回答 1

1

“当文件 [不] 存在时”,您不会得到该异常。当您设置读取超时并且在超时内没有数据到达时,您会得到它,如果您的超时太短,请提高它。如果您想永远等待,请将其删除。这是你的超时,你设置它。

如果你得到一个 SocketTimeoutException 你不会失去连接。是什么让你认为你做到了?

于 2012-07-27T21:49:36.213 回答