Hallo ich muss mich leider nochmal an die Community wenden, da ich Fehler erhalte die ich nicht ganz interpretieren kann.
Um die Sache nochmal aufzugreifen ich will eine Verbindung zwischen Server und Client herrstellen, sodass der Server dem Client auf Anfrage eine Musikdatei übergibt. Dieses tut er nun über einen Datoutputstream. Beim Client hängt es momentan scheinbar an der richtigen Auslesung der Daten, bzw hab ich soviel gewerkelt, dass ich das Gefühl habe die Verbindung funzt nicht mehr richtig.
Server:
Client
Mal meine Fehlerzeilen:
Spiele: /Users/bRainLaG/Downloads/SoundJava/song1.wav
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.DataInputStream.read(DataInputStream.java:132)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at java.io.DataInputStream.readInt(DataInputStream.java:370)
at com.sun.media.sound.WaveFileReader.getFMT(WaveFileReader.java:244)
at com.sun.media.sound.WaveFileReader.getAudioInputStream(WaveFileReader.java:160)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1094)
at Webradio.Client.<init>(Client.java:24)
at Webradio.Client.main(Client.java:46)
Um die Sache nochmal aufzugreifen ich will eine Verbindung zwischen Server und Client herrstellen, sodass der Server dem Client auf Anfrage eine Musikdatei übergibt. Dieses tut er nun über einen Datoutputstream. Beim Client hängt es momentan scheinbar an der richtigen Auslesung der Daten, bzw hab ich soviel gewerkelt, dass ich das Gefühl habe die Verbindung funzt nicht mehr richtig.
Server:
Java:
import java.io.*;
import java.net.*;
import javax.sound.sampled.*;
public class Server {
ServerSocket serverSocket = new ServerSocket(12342);
Server () throws IOException {
while ( true ) {
Socket client = serverSocket.accept();
BufferedReader br = new BufferedReader (new InputStreamReader(client.getInputStream()));
DataOutputStream out = new DataOutputStream(client.getOutputStream());
byte[] buffer = new byte[1024];
FileInputStream Ausgabe = new FileInputStream(new File("/Users/bRainLaG/Downloads/SoundJava/song1.wav") );
int len = 0;
while ((len = Ausgabe.read(buffer)) > 0) {
out.write(buffer);
}
out.close();
Ausgabe.close();
}
}
public static void main (String[] args) {
try {
Server server = new Server();
}
catch (IOException e) {
System.out.print(e);
}
}
}
Client
Java:
public class Client {
Client() throws IOException {
Socket server = new Socket ( "localhost", 12342 );
PrintWriter writer = new PrintWriter(server.getOutputStream());
writer.write("Will den Stream");
writer.flush();
File audio = new File("/Users/bRainLaG/Downloads/SoundJava/song1.wav");
try {
System.out.println("Spiele: " + audio);
DataInputStream infile = new DataInputStream(server.getInputStream());
BufferedInputStream bufStream = new BufferedInputStream(infile);
AudioInputStream audioInputStream = AudioSystem
.getAudioInputStream(bufStream);
AudioFormat af = audioInputStream.getFormat();
int size = (int) (af.getFrameSize() * audioInputStream.getFrameLength());
byte[] buffer = new byte[size];
DataLine.Info info = new DataLine.Info(Clip.class, af, size);
audioInputStream.read(buffer, 0, size);
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(af, buffer, 0, size);
clip.start();
server.close();
infile.close();
System.out.println("Datei Empfangen");
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void main (String[] args){
try {
Client client = new Client();
}
catch (IOException e) {
System.out.print(e);
}
}
}
Mal meine Fehlerzeilen:
Spiele: /Users/bRainLaG/Downloads/SoundJava/song1.wav
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.DataInputStream.read(DataInputStream.java:132)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at java.io.DataInputStream.readInt(DataInputStream.java:370)
at com.sun.media.sound.WaveFileReader.getFMT(WaveFileReader.java:244)
at com.sun.media.sound.WaveFileReader.getAudioInputStream(WaveFileReader.java:160)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1094)
at Webradio.Client.<init>(Client.java:24)
at Webradio.Client.main(Client.java:46)
Zuletzt bearbeitet: