Мне было интересно, смогу ли я получить какое-нибудь руководство по решению моей проблемы ...
Видите ли, я пытаюсь разобраться в программировании сокетов; Мне удалось создать клиент и сервер; сервер пишет клиенту без проблем;
Мне даже удается отправить файлы, используя
byte [] mybytearray = new byte [(int)myFile.length()];
FileInputStream fis = new FileInputStream(myFile);
Это на стороне сервера.
На стороне клиента
byte [] mybytearray = new byte [filesize];
InputStream is = sock.getInputStream();
FileOutputStream fileos = new FileOutputStream("Filename.dat");
BufferedOutputStream bufferos = new BufferedOutputStream(fileos);
bytesRead = is.read(mybytearray,0,mybytearray.length);
current = bytesRead;
do {
bytesRead =
is.read(mybytearray, current, (mybytearray.length-current));
if(bytesRead >= 0) current += bytesRead;
} while(bytesRead > -1);
bufferos.write(mybytearray, 0 , current);
bufferos.flush();
long end = System.currentTimeMillis();
System.out.println(end-start);
bufferos.close();
У меня вопрос: я не могу отправлять большие файлы; Я продолжаю получать
"Исключение в потоке" main "java.lang.OutOfMemoryError: пространство кучи Java"
Есть какие-нибудь мысли или указания, как мне управлять отправкой больших файлов клиенту с сервера? Я имею в виду размеры скажем 600 МБ или около того ....
есть мысли?
Высоко ценится ... спасибо