You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Server.java 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package chatprogramm.model;
  7. import chatprogramm.logger.OhmLogger;
  8. import java.io.BufferedReader;
  9. import java.io.IOException;
  10. import java.io.InputStream;
  11. import java.io.InputStreamReader;
  12. import java.io.OutputStream;
  13. import java.io.OutputStreamWriter;
  14. import java.io.PrintWriter;
  15. import java.net.ServerSocket;
  16. import java.net.Socket;
  17. import java.util.logging.Logger;
  18. /**
  19. * Builder Class
  20. * @author le
  21. */
  22. public class Server
  23. {
  24. private static final Logger lg = OhmLogger.getLogger();
  25. private static int PORT = 35000;
  26. public Server(int port) throws IOException
  27. {
  28. if(port != 0)
  29. {
  30. this.PORT = port;
  31. }
  32. ServerSocket sSocket = new ServerSocket(PORT);
  33. lg.info("Server: Warte auf Verbindung ...");
  34. Socket s = sSocket.accept(); // Achtung: blockiert!
  35. lg.info("Server: Verbindung akzeptiert");
  36. InputStream iStream = s.getInputStream();
  37. OutputStream oStream = s.getOutputStream();
  38. InputStreamReader isr = new InputStreamReader(iStream, "UTF-8");
  39. OutputStreamWriter osr = new OutputStreamWriter(oStream, "UTF-8");
  40. BufferedReader in = new BufferedReader(isr);
  41. //BufferedWriter out = new BufferedWriter(osr);
  42. PrintWriter out = new PrintWriter(osr);
  43. lg.info("Server: Stream initialisiert");
  44. lg.info("Server: warte auf Nachricht ...");
  45. String nachricht = in.readLine(); // Achtung blockiert
  46. lg.info("Server: Nachricht empfangen");
  47. System.out.println("Server: NACHRICHT EMPFANGEN - " + nachricht);
  48. out.println("Server -> ich habe die Nachricht erhalten");
  49. lg.info("Server: Quittung versendet");
  50. out.flush(); // wirklich absenden!!
  51. out.close();
  52. in.close();
  53. }
  54. }