Hallo Community,
ich muss euch leider wieder auf die Nerven gehen. Dieses Mal liegt es am folgenden Programm:
Server:
Client(ohne GUI):
Dabei kommt diese Fehlermeldung:
Ich habe auch schon schön brav die SuFu genutzt(Google auch) aber leide keine Fehlerbehebungen gefunden.
[EDIT]Wie kann ich diese ausblenden? Was hat sie zu bedeuten und wer ist der Auslöser für diese Exception?[/EDIT]
ich muss euch leider wieder auf die Nerven gehen. Dieses Mal liegt es am folgenden Programm:
Server:
Java:
import java.io.*;
import java.net.*;
public class BerichtDatenbankServer
{
PrintWriter writer;
BufferedReader reader;
Socket sock;
public static void main (String[] args)
{
System.out.println("start");
new BerichtDatenbankServer().los();
}
public void los()
{
try
{
ServerSocket serverSock=new ServerSocket(12345);
while(true)
{
Socket clientSocket=serverSock.accept();
InputStreamReader r=new InputStreamReader(clientSocket.getInputStream());
writer=new PrintWriter(clientSocket.getOutputStream());
reader=new BufferedReader(r);
System.out.println("habe eine Verbindung");
lesen();
}
}
catch(Exception ex){ex.printStackTrace();}
}
public void lesen()
{
String nachricht;
try
{
while((nachricht=reader.readLine())!=null) //<-------------- FEHLER IST HIER
{
System.out.println("gelesen:"+nachricht);
antwortenDassEsAngekommenIst(nachricht);
}
}
catch (IOException e) {e.printStackTrace();}
}
public void antwortenDassEsAngekommenIst(String nachricht)
{
writer.print("sent");
System.out.println("sent");
abspeichern(nachricht);
}
public void abspeichern(String nachricht)
{
try
{
PrintWriter wr=new PrintWriter(new FileWriter("Speicherung"));
wr.print(nachricht);
wr.close();
System.out.println("SFSDSFSDF");
}
catch(Exception ex){ex.printStackTrace();}
}
}
Client(ohne GUI):
Java:
class BerichtDatenbankClientHochladen
{
String s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22,s23,s24,s25,s26,s27,s28;
JTextField field0,field1,field2,field3,field4,field5,field6,field7,field8,field9,field10,field11,field12,field13,field14,field15,field16,
field17,field18,field19,field20,field21,field22,field23,field24,field25,field26,field27,field28;
String msg;
PrintWriter writer;
InputStreamReader income;
BufferedReader reader;
Socket sock;
public static void main(String[]args)
{
new BerichtDatenbankClientHochladen();
}
class Absender implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
getContent();
verbindungAufbauen();
msg=s0+"/"+s1+"/"+s2+"/"+s3+"/"+s4+"/"+s5+"/"+s6+"/"+s7+"/"+s8+"/"+s9+"/"+s10+"/"+s11+"/"+s12+"/"+s13+"/"+s14+"/"+s15+"/"+s16+"/"+s17+"/"+s18+"/"+s19+"/"+s20+"/"+s21+"/"+s22+"/"+s23+"/"+s24+"/"+s25+"/"+s26+"/"+s27+"/"+s28+".";
writer.print(msg);
System.out.println("gesendet");
}
}
public void verbindungAufbauen()
{
try
{
sock=new Socket("localhost",12345);
writer=new PrintWriter(sock.getOutputStream());
income=new InputStreamReader(sock.getInputStream());
reader=new BufferedReader(income);
Thread threadPing=new Thread(new Threadder());
threadPing.start();
}
catch(Exception ex){ex.printStackTrace();}
}
class Threadder implements Runnable //PING
{
public void run()
{
while(true)
{
writer.print("ping");
try
{
if(reader.readLine().equals("sent"))
{
JOptionPane.showMessageDialog(null, "Erfolgreich hochgeladen");
}
else if(!reader.readLine().equals("ping"))
{
JOptionPane.showMessageDialog(null, "Die Verbindung ist verloren gegangen.");
}
}
catch(Exception ex){ex.printStackTrace();}
}
}
}
}
Dabei kommt diese Fehlermeldung:
Code:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at BerichtDatenbankServer.lesen(BerichtDatenbankServer.java:46)
at BerichtDatenbankServer.los(BerichtDatenbankServer.java:34)
at BerichtDatenbankServer.main(BerichtDatenbankServer.java:15)
Ich habe auch schon schön brav die SuFu genutzt(Google auch) aber leide keine Fehlerbehebungen gefunden.
[EDIT]Wie kann ich diese ausblenden? Was hat sie zu bedeuten und wer ist der Auslöser für diese Exception?[/EDIT]
Zuletzt bearbeitet: