Visualizzazione dei risultati da 1 a 5 su 5

Discussione: gestione treahd

  1. #1

    gestione treahd

    ciao ragazzi,

    vi spiego il mio problema, che dovrebbe essere facile per voi da risolvere.

    ho questa situazione:

    codice:
    public void actionPerformed(ActionEvent e)
        {
    		Object source= e.getSource();
            if(source==ricevi_file)
            {
            	new FileReceiver(1, IP_SERVER_1, PORTA_SERVER_1).;
            	new FileReceiver(2, IP_SERVER_2, PORTA_SERVER_2);
            }
        }
    la classe FileReceiver, fa partire un treadh, che si connette al server e riceve un file.

    io devo però ricevere un file da 2 server.

    però se scrivo così come ho fatto, parte soltanto il primo
    codice:
    new FileReceiver(1, IP_SERVER_1, PORTA_SERVER_1).;
    ed il secondo no.

    come faccio a farli partire contemporaneamente, o magari prima uno e poi l'altro?

    grazie

  2. #2
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    La seconda chiamata viene effettuata??
    Prova a mettere sei System.out.println().
    Ma il server è scritto da te?
    Prova a veder anche lì se accetta correttamente la seconda connessione ( magari il problema è sull'accept ).
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  3. #3
    scusa mi sono confuso..

    riepilogiamo:

    FileReceiver, viene utilizzato dal Server, a cui si connettono 2 client.

    la prima chiamata a FileReceiver, va tutto bene.

    la secondo non viene chiamata per niente.

    ho provato così:

    codice:
    System.out.println("PRIMO RICEVITORE...");
            	new FileReceiver(1, IP_CLIENT_1, PORTA_CLIENT_1);
    
            	System.out.println("SECONDO RICEVITORE...");
            	new FileReceiver(2, IP_CLIENT_2, PORTA_CLIENT_2);
    e viene stampato soltanto "PRIMO RICEVITORE..."

    il FIleReceiver entra in un ciclo while(true):

    codice:
    while (true) {
            FileReceiver file_rec = this;
            file_rec.socket = listener.accept();  
            server_id = s_id;
            new Thread(file_rec).start();
          }

  4. #4
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    adesso....per logica...se non esce mai da quel while, non c'è modo che proceda ad eseguire il comando successivo.
    Quel ciclo while devi farlo fare ad un Thread, in modo che alla chiamata Thread.start() le operazione successive a quella chiamata vengono fatte, mentre il tuo Thread lavora in modo indipendente all'interno del suo ciclo while, senza bloccare nessuno.
    Capito?
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  5. #5
    si, più o meno l'ho capito.

    è a scriverlo che ho qualche difficoltà.

    potresti postarmi uno pseudocodice?

    grazie

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 © 2026 vBulletin Solutions, Inc. All rights reserved.