Ola!
Alguem sabe se o outputStream tem limite de dados para enviar no write?
Eu estou tentando enviar dados via outputStream mais os dados não chegam completos. Alguem pode me ajudar?!
Ola!
Alguem sabe se o outputStream tem limite de dados para enviar no write?
Eu estou tentando enviar dados via outputStream mais os dados não chegam completos. Alguem pode me ajudar?!
Não tem limite. Como você está fazendo a leitura? E você está enviando via socket?
Estou enviando via socket lendo com o readline,
Depois de algumas linhas ele da esse erro com.sun.jdi.VMDisconnectedException: Got IOException from Virtual Machine occurred invoking method.
ele falha no debug e em execução ele não conecta.
Dei uma mudada no código para ver se conseguia resolver.
eu tinha 3 copias do mesmo arquivo, ele enviava os dois primeiros e o terceiro ele só enviava até a ultima parte.
remove duas copias, a copia q ficou só é enviada até o local que o terceiro arquivo era enviado.
Será que é problema de sincronismo?
Meu cliente assim q termina de enviar pede um inputStream com a resposta.
Clienteint tamanho = 1024; // buffer de 4KB
byte[] buffer = new byte[tamanho];
int lidos = -1;
while ((lidos = stream.read(buffer, 0, tamanho)) != -1) {
out.write(buffer, 0, lidos);
}
InputStream inStream = s.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));
while(reader.ready()){
return Boolean.parseBoolean(reader.readLine());
}
Servidor
while(reader.ready()){
aux = reader.readLine();
System.out.println(aux);
message.append(aux);
}
UOPs!
Foi erro meu mesmo, como li com o readline do bufferedReader ele não estava lendo a ultima linha porque ela não tinha o \n.
envie o \n no final do arquivo e ele consegiu concluir a leitura.