Server umgebaut

This commit is contained in:
Jens Schuhmann 2023-12-12 10:48:57 +01:00
parent 0853e26034
commit 8a7019bfca

View File

@ -23,45 +23,58 @@ import java.util.logging.*;
public class Server public class Server
{ {
private static Logger lg = Logger.getLogger("netz"); private static Logger lg = Logger.getLogger("netz");
private Socket socket;
private BufferedReader reader;
private PrintWriter writer;
private static final int PORT = 35000; //lt. iana port > 2¹ private static final int PORT = 35000; //lt. iana port > 2¹
private static int timeout = 10000;
public void connect() throws IOException
public Server() throws IOException {
try
{ {
ServerSocket sSocket = new ServerSocket(PORT); ServerSocket sSocket = new ServerSocket(PORT);
sSocket.setSoTimeout(timeout);
lg.info("Server: warte auf Verbindung"); lg.info("Server: warte auf Verbindung");
Socket s = sSocket.accept(); // ACHTUNG blockiert! socket = sSocket.accept();
lg.info("Server: Verbindung akzeptiert"); lg.info("Server: Verbindung akzeptiert");
InputStream is = s.getInputStream(); lg.info("Server: initialisiere reader und writer");
OutputStream os = s.getOutputStream(); InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
//Umwandlung der Byteströme
InputStreamReader isr = new InputStreamReader(is, "UTF-8"); InputStreamReader isr = new InputStreamReader(is, "UTF-8");
OutputStreamWriter osr = new OutputStreamWriter(os, "UTF-8"); OutputStreamWriter osr = new OutputStreamWriter(os, "UTF-8");
//Puffer reader = new BufferedReader(isr);
BufferedReader in = new BufferedReader(isr); writer = new PrintWriter(osr);
//BufferedWriter out = new BufferedWriter(osr); lg.info("Server: Initialisierung abgeschlossen");
//besser
PrintWriter out = new PrintWriter(osr);
lg.info("Server: Streams erfolgreich initialisiert"); lg.info("Server: warte auf Nachricht");
lg.info("Server: warte auf Textnachricht");
String nachricht = in.readLine(); // ACHTUNG blockiert }
lg.info("Server: Nachricht erhalten"); catch ( java.io.InterruptedIOException e )
System.out.println("Server: NACHRICHT = " + nachricht); {
lg.warning("Timeout"+"("+timeout/1000+"s)");
}
// ACHTUNG: blockiert NICHT!!!! }
out.println("Server an Client: Nachricht erhalten"); public Server() throws IOException
out.flush(); // wichtig {
connect();
lg.info("Server: fertig"); // String nachricht = in.readLine(); // ACHTUNG blockiert
in.close(); // lg.info("Server: Nachricht erhalten");
out.close(); // System.out.println("Server: NACHRICHT = " + nachricht);
s.close(); //
// // ACHTUNG: blockiert NICHT!!!!
// out.println("Server an Client: Nachricht erhalten");
// out.flush(); // wichtig
//
// lg.info("Server: fertig");
// in.close();
// out.close();
// s.close();
} }
/** /**