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.

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