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 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 final int PORT = 35000;
  26. public Server() throws IOException
  27. {
  28. ServerSocket sSocket = new ServerSocket(PORT);
  29. lg.info("Server: Warte auf Verbindung ...");
  30. Socket s = sSocket.accept(); // Achtung: blockiert!
  31. lg.info("Server: Verbindung akzeptiert");
  32. InputStream iStream = s.getInputStream();
  33. OutputStream oStream = s.getOutputStream();
  34. InputStreamReader isr = new InputStreamReader(iStream, "UTF-8");
  35. OutputStreamWriter osr = new OutputStreamWriter(oStream, "UTF-8");
  36. BufferedReader in = new BufferedReader(isr);
  37. //BufferedWriter out = new BufferedWriter(osr);
  38. PrintWriter out = new PrintWriter(osr);
  39. lg.info("Server: Stream initialisiert");
  40. lg.info("Server: warte auf Nachricht ...");
  41. String nachricht = in.readLine(); // Achtung blockiert
  42. lg.info("Server: Nachricht empfangen");
  43. System.out.println("Server: NACHRICHT EMPFANGEN - " + nachricht);
  44. out.println("Server -> ich habe die Nachricht erhalten");
  45. lg.info("Server: Quittung versendet");
  46. out.flush(); // wirklich absenden!!
  47. out.close();
  48. in.close();
  49. }
  50. /**
  51. * @param args the command line arguments
  52. */
  53. public static void main(String[] args)
  54. {
  55. try
  56. {
  57. new Server();
  58. }
  59. catch (IOException ex)
  60. {
  61. lg.severe(ex.toString());
  62. }
  63. }
  64. }