Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it L'avatar di cala87
    Registrato dal
    Aug 2005
    Messaggi
    34

    [Java] Blocco programma dopo chiamata funzione!!

    Come mai mi si blocca il programma chiamando questa funzione???
    codice:
    public void AvviaServer()
        {
        	int Porta = 40;
        	
            try
            {
            	try
            	{
                	Porta = Integer.parseInt(setPorta.getText());
            	}
            	catch(Exception e)
            	{
                	if(finErrore == null)
                    	finErrore = new Errore(Server.this,"Si deve inserire un numero!!");
                	finErrore.setVisible(true);
            	}
            
            	if(Porta <= 0 || Porta > 65535)
            	{
                	if(finErrore == null)
                    	finErrore = new Errore(Server.this,"Valori ammessi tra 1 e 65535");
                	finErrore.setVisible(true);
            	}
                
                ServerS = new ServerSocket(Porta);              
                Scrivi("Server attivo sulla porta: " + Porta);
                
                while(true)
                {
                    Scrivi("Attesa delle connessioni");
                    SocketIngresso = ServerS.accept();
    
                    TokenIndirizzo = new StringTokenizer(SocketIngresso.getInetAddress().toString(),"/"); 
                    Indirizzo = TokenIndirizzo.nextToken();
                
                    Scrivi("Connesso utente " + IDSocket + " @ " + Indirizzo);
                }
            }
            catch(IOException e)
            {
                Scrivi("Caduta della connessione dell'utente " + (IDSocket-1) + " @ " + Indirizzo);
            }
            catch(Exception e)
            {
            	if(finErrore == null)
            		finErrore = new Errore(Server.this,"Errore nell'apertura del server");
            	finErrore.setVisible(true);
            }
        }

  2. #2
    Utente di HTML.it L'avatar di cala87
    Registrato dal
    Aug 2005
    Messaggi
    34
    Dimenticavo...Questo è un programma client server e questa funzione dovrebbe attivarmi il server, le variabili sono dichiarate in modo corretto e la funzione scrivi consente di scrivere del testo in una jtextarea..in fase di compilazione mi riladcia un errore strano: "unchecked or unsafe operations" --> cosa significa tralasciando il significato letterale??? grazie della vostra attenzione

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    Magari dicci in che riga da l'errore.
    Forse stai usando una porta sotto la 1024?
    Quelle non le puoi usare, sono le porte conosciute.

  4. #4
    Utente di HTML.it L'avatar di cala87
    Registrato dal
    Aug 2005
    Messaggi
    34
    Ciao..Non posso darti la riga d'errore perchè questo è un warning non un errore di sintassi; per quanto riguarda la porta inferiore a 1024 ti dico che ho già provato su un altro programma a inserire, ad esempio la porta 25 o 200, senza avere nessun problema..(Dimenticavo..Utilizzo BlueJ)..Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    ricompila con l'opzione -Xlint:unchecked per avere più dettagli sui warning e facci sapere

  6. #6
    Utente di HTML.it L'avatar di cala87
    Registrato dal
    Aug 2005
    Messaggi
    34
    Scusa la mia ignoranza ma non so come si compila in quella maniera...

  7. #7
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Scusa l'intromissione, ma cosa intendi con "si blocca"? Te lo chiedo perchè la funzione che hai postato contiene (giustamente) un while(true).... magari posta anche come la chiami...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    160
    javac -Xlint:unchecked NomeFile.java

  9. #9
    In effetti anche a me sembra normale che il programma si blocchi ... del resto la chiamata :

    SocketIngresso = ServerS.accept();

    e' bloccante (vedi javadoc) in attesa del primo socket che viene aperto.
    Appena si sblocca perche' viene aperto un socket, il while(true) non fa altro che riportare sulla stessa chiamata...
    S.O. : Ubuntu 5.04
    Lang : J2*E,PHP,tcl/tk

  10. #10
    Utente di HTML.it L'avatar di cala87
    Registrato dal
    Aug 2005
    Messaggi
    34
    Per "si blocca" intendo dire che il programma va in panne, questa funzione la chiamo utilizzando un bottone o un elemento di un menù e nel momento del click il programma è come se terminasse (un pò come si bloccano a volte i normali programmi come Word o Excel) per sbloccarlo devo per forza resettare la Java Virtual Machine..Aiutatemi perchè è un programma didattico e devo portarlo entro metà Gennaio..Grazie per la disponibilità

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.