public void StartServer(int port) {
        try {
            serverSocket = new ServerSocket(port);
            LOGGER.log(Level.INFO, "Serwer rozpoczal dzialanie na porcie {0}", port);
            while (true) 
              { 
                Socket socket = serverSocket.accept();
                LOGGER.log(Level.INFO, "Zaakceptowano polaczenie od {0}", new Object[]{socket.toString()});
                TcpThread t = new TcpThread();
                t.setSocket(socket);        
                t.start(); 
              }//while
         //  }//if
           // else if(stan ==2)
          //      LOGGER.info("Start przerwany przez uzytkownika!");
            }     //try 
         catch (Exception e) {
            LOGGER.severe("Wystapil krytyczny blad uruchamiania serwera");
            LOGGER.log(Level.SEVERE, e.getMessage(), e);
            proba++;
            String blad = e.getLocalizedMessage();
            if (proba == 3 && blad.contains("value out of range")) {
                LOGGER.warning("Nie udalo sie wystartowac serwera. Podany port ma za duza wartosc!!");
            }
            if (proba < 3) {
                try {
                    LOGGER.info(proba + " proba ponownego uruchomienia serwera");
                    Thread.currentThread().wait(1000);
                    StartServer(this.port);
                } catch (InterruptedException ex) {
                    LOGGER.log(Level.SEVERE, "Blad wstrzymania i proby ponownego uruchomienia serwera!!", ex);
                }
            }
            if(proba==3) {
                 LOGGER.severe("Nie udalo sie uruchomic serwera!!");
             }
        }//catch
    }//StartServer