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.

65 lines
1.9 KiB

  1. package com.vertsys;
  2. import java.io.IOException;
  3. import java.net.ServerSocket;
  4. import java.net.Socket;
  5. import java.util.ArrayList;
  6. public class Server {
  7. protected static ServerSocket sock;
  8. protected static ArrayList<String> messages = new ArrayList<>();
  9. protected static ArrayList<Socket> clients = new ArrayList<>();
  10. // protected static ArrayList<String> messages = new ArrayList<>();
  11. protected static int port;
  12. protected static boolean DEBUG_MODE = true;
  13. public static void main(String[] args){
  14. init(args);
  15. try {
  16. sock = new ServerSocket(port);
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. while (true){
  21. if (DEBUG_MODE)
  22. System.out.println("Socket opened... Waiting for connections");
  23. try {
  24. Socket connSocket = sock.accept();
  25. clients.add(connSocket);
  26. new Thread(new ServerThread(connSocket)).start();
  27. } catch (IOException e){
  28. }
  29. }
  30. }
  31. public static void init(String[] args){
  32. switch (args.length) {
  33. case 0:
  34. if (DEBUG_MODE)
  35. System.out.println("No Parameters. Set port to default values...");
  36. port = 42424;
  37. break;
  38. case 1:
  39. if (DEBUG_MODE)
  40. System.out.println("Port as Parameter.");
  41. port = Integer.parseInt(args[1]);
  42. if (port < 0) {
  43. System.err.println("ERROR: Port must be a value >= 0!");
  44. System.out.println("Usage: java ConcatServer [port]");
  45. System.exit(-1);
  46. }
  47. break;
  48. default:
  49. System.out.println("Usage: java ConcatServer [port]");
  50. System.exit(0);
  51. break;
  52. }
  53. }
  54. }