codice:
    public void ServerRun() {

       try {



          server_socket = new ServerSocket( 5050, 100,

                                  InetAddress.getByName("127.0.0.1"));

          display.setText("Server waiting for client on port " +

			       server_socket.getLocalPort() + "\n");



          // server infinite loop

          while(true) {

             Socket socket = server_socket.accept();

             display.append("New connection accepted " +

				   socket.getInetAddress() +

				   ":" + socket.getPort() + "\n");

             input = new BufferedReader(new InputStreamReader(socket.getInputStream()));

             output = new PrintWriter(socket.getOutputStream(),true);



             // print received data

             try {

                while(true) {

                   String message = input.readLine();

                   display.append("\n" + message);

                   output.println( "\nFrom Server==> " + message );

                   if (message.toUpperCase().equals( "QUIT" ))

                      break;

                }

             }

             catch (IOException e) {

                display.append("\n" + e);

             }



             // connection closed by client

             try {

                socket.close();

                display.append("\n Connection closed by client");

             }

             catch (IOException e) {

                display.append("\n" + e);

             }

          }

       }

       catch (IOException e) {

          display.append("\n" + e);

       }

    }
vorrei capire come funziona il ciclo while, cioè, è sempre in loop anche quadno nn ci sn connessioni? Quali sono i parametri del costruttore ServerSocket? La classe inetaddress cosa fa esattamente?

Per trasformare questo codice in modo che accetti + connessioni, basta fare

class mioserver extends Thread ?