Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Interfaccia grafica programma client-server

    Salve a tutti,
    ho un piccolo progetto universitario in java che è composto da una parte che funziona lato server ed un piccolo applet che ci si interfaccia.

    Fino ad ora il server lo faccio partire direttamente da dentro eclipse scegliendo io il main da far partire.

    Ora mettiamo caso che disegno un interfaccia grafica per il server, con un tasto che avvia il server. Poi una volta compilato per dire di avviare la classe dell'interfaccia grafica con relativo main basta che faccio partire il file .class relativo all'interfaccia grafica?

    Contando sostanzialmente che il server ha questa struttura qui:

    codice:
    package server;
    import java.io.*;
    import java.net.*;
    
    /** @author Rana, Colangiuli, Aruci
     *
    
    la classe MultiServer modella un server in grado di accettare la richiesta
     *trasmesse da un generico Client e istanzia un oggetto della classe ServerOneClient che si
     *occupera di servire le richieste del client in un thread dedicato. Il Server sar‡ registrato su 
     *una porta predefinita (al di fuori del range 1-1024), per esempio 8080.</p>
     */
    public class MultiServer {
        
    	/**
    	 *@attribute  public static final int PORT
    	 */
    	public static final int PORT = 1024;
    	
    	
    	//Metodi
    	/**
    	 *
    
    Comportamento:  crea un oggetto istanza di MultiServer. </p>
    	 * @param args
    	 * @throws IOException
    	 */
    	public static void main(String[] args) throws IOException
    	{
    		MultiServer ms = new MultiServer();
    		}
    	
    	/**
    	 * 
    
    Comportamento: invoca il metodo privato run. </p>
    	 * @throws IOException
    	 */
    	MultiServer() throws IOException{
    		run();
    	}
    	
    	
    	/**
    	 * 
    
    Comportamento: assegna ad una variabile locale s il riferimento ad una istanza 
    	 *della classe ServerSocket creata usando la porta PORT. s si pone in attesa di richieste di
    	 *connessione da parte di client in risposta alle quali viene restituito líoggetto Socket
    	 *da passare come argomento al costruttore della classe ServerOneClient. </p>
    	 * @throws IOException
    	 */
    	private void run() throws IOException{
    		ServerSocket s = new ServerSocket(PORT);
    		System.out.println("Server avviato");
    
    		try 
    		{
    			while(true) 
    			{
    				// Si blocca finchË non si verifica una connessione:
    				Socket socket = s.accept();
    				try 
    				{
    					new ServeOneClient(socket);
    				} 
    				catch(IOException e) 
    				{
    							// Se fallisce chiude il socket(la connessione con il client),
    							// altrimenti il thread la chiuder‡:
    							socket.close();
    				}
    			}
    		} finally {
    	                // chiude il ServerSocket
    					s.close();
    				   }
    	}
    
    }
    secondo voi come potrei fare a stoppare e a far riprendere l'esecuzione del server? Ovvero per adesso c'è il "while(true)" come potrei fare a dire di mettersi in pausa al clic di un tasto e rimettersi a ciclare al click di un'altro tasto?
    Non posso in qualche modo stoppare e/o far reiniziare da zero l'esecuzione del thread principale?

    Vi ringrazio in anticipo,
    Neptune.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2

    Re: Interfaccia grafica programma client-server

    Originariamente inviato da Neptune
    come potrei fare a dire di mettersi in pausa al clic di un tasto e rimettersi a ciclare al click di un'altro tasto?
    La soluzione più banale consiste nel far dipendere la logica del server da una o più variabili booleane che dunque controlli mediante un'apposita interfaccia.

    Ovviamente il Server deve essere controllato da un processo distinto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.