Hallo Leute,
ich habe ein kleines Problem mit dem versenden von *.wav Dateien.
Wenn ich kleine Dateien(ca 19 kb) sende kommen Sie in richtiger größe an und ich kann die kopierte Version auch abspielen.
Falls ich eine große Datei(meine testdateien waren ca. 43 MB und 2 MB groß) kommt sie viel größer an ( Bei mir war die Kopie ca 83 MB und 3,3 MB groß)
Die Daten werden ganz normal über Socket und TCP übertragen.
Hier mal mein Code Schnipsel:
Sender:
Empfänger:
Meine Socket Erzeugung:
danke für die Hilfe
ciao
ich habe ein kleines Problem mit dem versenden von *.wav Dateien.
Wenn ich kleine Dateien(ca 19 kb) sende kommen Sie in richtiger größe an und ich kann die kopierte Version auch abspielen.
Falls ich eine große Datei(meine testdateien waren ca. 43 MB und 2 MB groß) kommt sie viel größer an ( Bei mir war die Kopie ca 83 MB und 3,3 MB groß)
Die Daten werden ganz normal über Socket und TCP übertragen.
Hier mal mein Code Schnipsel:
Sender:
Java:
FileInputStream inputStream = new FileInputStream(musikDatei);
int len = 0;
byte[] buffer = new byte[16384];
//Sende Signal damit client weiß dass eine Datei übertragen wird
out.println(musikDateiSignal);
while ((len = inputStream.read(buffer)) > 0) {
out.write(buffer, 0, len);
System.out.println(buffer);
}
out.println('\0');
out.println(musikDateiSignal);
System.out.println(clientIP + ": Musik - " + "sended");
out.println("Lied ist nun zuende...");
out.flush();
Empfänger:
Java:
System.out.println("Empfange Datei..."); //TODO rausnehmen
// OutputStream datei = new FileOutputStream(file);
BufferedWriter datei = new BufferedWriter(new OutputStreamWriter(new FileOutputStream( "/home/akrillo/Downloads/webradio.wav" ) ) );
while( (((msg = in.readLine()) != null)) && !msg.equals(musikDateiSignal))
{
datei.write(msg);
}
System.out.println("Fetching complete.");
Meine Socket Erzeugung:
Java:
try{
int port = Integer.parseInt(args[0]);
int calls = 0;
System.out.println("Listening Port to: " + port);
ServerSocket server_socket = new ServerSocket(port);
while(true){
Socket socket = server_socket.accept();
new Thread(new WebradioClientThread(++calls, socket)).run();
}
}catch(IOException e)
{
System.err.println("Connection error: " + e.toString());
System.exit(1);
}
danke für die Hilfe
ciao
Zuletzt bearbeitet: