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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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;
  7. import java.io.BufferedReader;
  8. import java.io.IOException;
  9. import java.io.InputStream;
  10. import java.io.InputStreamReader;
  11. import java.io.OutputStream;
  12. import java.io.OutputStreamWriter;
  13. import java.io.PrintWriter;
  14. import java.net.ServerSocket;
  15. import java.net.Socket;
  16. import java.util.logging.Logger;
  17. /**
  18. * Builder Class
  19. * @author le
  20. */
  21. public class Server
  22. {
  23. private static final Logger lg = Logger.getLogger("netz");
  24. private static final int PORT = 35000;
  25. public Server() throws IOException
  26. {
  27. ServerSocket sSocket = new ServerSocket(PORT);
  28. lg.info("Server: Warte auf Verbindung ...");
  29. Socket s = sSocket.accept(); // Achtung: blockiert!
  30. lg.info("Server: Verbindung akzeptiert");
  31. InputStream iStream = s.getInputStream();
  32. OutputStream oStream = s.getOutputStream();
  33. InputStreamReader isr = new InputStreamReader(iStream, "UTF-8");
  34. OutputStreamWriter osr = new OutputStreamWriter(oStream, "UTF-8");
  35. BufferedReader in = new BufferedReader(isr);
  36. //BufferedWriter out = new BufferedWriter(osr);
  37. PrintWriter out = new PrintWriter(osr);
  38. lg.info("Server: Stream initialisiert");
  39. lg.info("Server: warte auf Nachricht ...");
  40. String nachricht = in.readLine(); // Achtung blockiert
  41. lg.info("Server: Nachricht empfangen");
  42. System.out.println("Server: NACHRICHT EMPFANGEN - " + nachricht);
  43. out.println("Server -> ich habe die Nachricht erhalten");
  44. lg.info("Server: Quittung versendet");
  45. out.flush(); // wirklich absenden!!
  46. out.close();
  47. in.close();
  48. }
  49. /**
  50. * @param args the command line arguments
  51. */
  52. public static void main(String[] args)
  53. {
  54. try
  55. {
  56. new Server();
  57. }
  58. catch (IOException ex)
  59. {
  60. lg.severe(ex.toString());
  61. }
  62. }
  63. }