Für so ziemlich jeden Zweck ist aber ein eigener "Heartbeat" besser geeignet, das vorhanden keepAlive hat einen variablen Zeitraum und muss nicht mal überhaupt implementiert seinHab gerade gesehen dass diese Heartbeat Funktion schon implementiert ist.
Schau dir dazu mal diesetKeepAlive(..)
undgetKeepAlive()
Methoden an.
Mehr dazu findest du eventuell hier.
while(failed){
try{
//connect to server
} catch (Exception e){
//handle exception
}
}
//Code Server
public static void main(String[] args) {
try{
ServerSocket serverSocket = new ServerSocket(5555);
System.out.println("Server gestartet");
Socket clientSocket_1 = new Socket();
try{
clientSocket_1 = serverSocket.accept();
System.out.println("Client 1 Verbunden");
}catch(IOException e){
System.out.println("Verbindungsaufbau auf port 5555 nicht möglich");
e.printStackTrace();
System.exit(0);
}
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket_1.getInputStream()));
FileWriter writer = new FileWriter("D:/JavaProgrammieren/Test.txt");
BufferedWriter bw = new BufferedWriter(writer);
String clientInput_1 = null;
while(true){
while ((clientInput_1 = in.readLine()) != null ){
bw.flush();
bw.write(clientInput_1 + "\n");
System.out.println(clientInput_1);
clientInput_1 = null;
}
}
}catch(IOException e){
System.out.println("Fehler IO");
e.printStackTrace();
System.exit(0);
}
}
//Code Client
public static void main(String[] args) {
Socket Socket = new Socket();
String Ip = "127.0.0.1";
int port = 5555;
SocketAddress Adresse = new InetSocketAddress(Ip, port);
try{
Socket.connect(Adresse, 10*1000);
System.out.println("Verbinde zu server...");
PrintWriter out = new PrintWriter(Socket.getOutputStream());
FileReader fr = new FileReader("D:/JavaProgrammieren/Test_2.txt");
BufferedReader br = new BufferedReader(fr);
while(true){
try{
String Zeile;
int Zeilen = 0;
while(true){
Thread.sleep(20);
Zeile=null;
Zeile = br.readLine();
if(Zeile != null){
out.write(Zeile + "\n");
Zeilen++;
System.out.println(Zeilen);
}
if(Zeilen == 10){
out.close();
br.close();
fr.close();
Socket.close();
}
}
}catch(Exception e){
System.exit(0);
}
}
}catch( UnknownHostException e){
System.out.println("Server nicht ereichbar");
e.printStackTrace();
}catch (IOException e){
System.out.println("Fehler reconnect");
boolean Verbunden =false;
while(Verbunden == false){
try{
Socket.connect(Adresse, 10*1000);
Verbunden = true;
} catch (Exception f){
try{
Thread.sleep(5*1000);
}catch(Exception g){
System.out.println("Fehler Wait");
}
System.out.println("Fehler reconnect");
}
}
}
}
boolean Verbunden =false;
while(Verbunden == false){
try{
Socket.connect(Adresse, 10*1000);
Verbunden = true;
} catch (Exception f){
try{
Thread.sleep(5*1000);
}catch(Exception g){
System.out.println("Fehler Wait");
}
System.out.println("Fehler reconnect2");
}
}