Pessoal eu queria fazer era pegar um arquivo de video que está no meu computador e transmití-lo para um player de video (estou usando o VLC media player) utilizando sockets pelo protocolo UDP. O código abaixo é o que estou usando para fazer isso e funciona muito bem, quando o arquivo de vídeo já está criado no meu pc previamente.
import java.io.*;
import java.net.*;
public class Envia{
public static void main(String args[]) throws IOException{
byte[] bufferSend = new byte[1024];
int len;
File f = new File("nome do arquivo");
InputStream in = new FileInputStream(f);
DatagramSocket socket = new DatagramSocket();
//Transmite localmente
InetAddress end = InetAddress.getByName("127.0.0.1");
//Utiliza a porta 6666 para a transmissão
DatagramPacket pacoteEnviado = new DatagramPacket(bufferSend,bufferSend.length,end,6666);
while ((len = in.read(bufferSend)) > 0) {
socket.send(pacoteEnviado);
}
socket.close();
}
}
Porém isso é apenas uma parte do meu projeto. O problema está no fato que ao colocar esse codigo no meu programa principal (que é onde esse arquivo de vídeo é criado) ele dificilmente consegue fazer a transmissão corretamente. 95% das vezes ele trava logo no inicio. Executo o video depois com o vlc só pra testar e o arquivo está tocando normalmente (n está corrompido), agora porque que na transmissão ele travou?
Espero que tenha dado pra entender o problema :roll: