#java #android-studio #inputstream #httpurlconnection #socketexception
#java #android-studio #входной поток #httpurlconnection #исключение socketexception
Вопрос:
У меня большая проблема, и я не понимаю, почему это так. Моя проблема в том, что когда я получаю медиафайлы с сервера (файлы .mp4) и пытаюсь сохранить их в локальном хранилище, я получаю исключение: сокет закрыт. Пожалуйста, помогите мне.
try {
RequestHelper requestHelper = new RequestHelper(activity);
HttpURLConnection conn = requestHelper.connection(url file, "GET");
int statuscode = requestHelper.getStatuscode(conn);
if (statuscode == 200) {
InputStream is = conn.getInputStream();
System.out.println("inputStream: " is);
OutputStream os = new FileOutputStream(new File(saveDir, file.getName()));
System.out.println("outputStream: " os);
byte[] b = new byte[1024];
int length;
//HERE IS THE EXCEPTION TRIGGER
System.out.println("inputstreamRead: " is.read(b));
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
os.flush();
os.close();
is.close();
}
} catch (IOException e) {
e.printStackTrace();
}
Комментарии:
1. Похоже, что другая сторона закрывает сокет.
Ответ №1:
можете ли вы проверить, добавили ли вы заголовок keep-alive?