Write do socket travando?

0 respostas
N

Boa tarde galera, estou fazendo uma aplicação que envia bytes de um arquivo via socket, só que está ocorrendo o seguinte. O programa chama o primeiro .write, faz um loop e quando chama de novo trava nele. Segue o código:

FileInputStream fis = new FileInputStream(file);  
			BufferedInputStream bis = new BufferedInputStream(fis);
			OutputStream envia = usuario.getSocketFTP().getOutputStream();

			int tamanho = 102400; // buffer de 100KB    
			byte[] buffer = new byte[tamanho];    
			int lidos = -1;

			while ((lidos = fis.read(buffer, 0, tamanho)) != -1)
			{
				System.out.println(usuario.getSocketFTP().isConnected());
				envia.write(1);
				envia.write(buffer, 0, lidos);
				System.out.println("Transferi");
			}

Código do cliente:

fos = new FileOutputStream(arquivoBaixar);

				int tamanho = 102400; // buffer de 10KB
				int totalLido = 0;
				byte[] buffer = new byte[tamanho];

				while(socketFTP.getInputStream().read() == 1)
				{
					System.out.println("Esperando arquivo ler");
					totalLido = socketFTP.getInputStream().read(buffer, 0, tamanho);
					fos.write(buffer, 0, totalLido);
				}
Criado 23 de julho de 2015
Respostas 0
Participantes 1