Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di MOBILUK
    Registrato dal
    Apr 2001
    Messaggi
    225

    [JAVA] Dov'č l'errore? (POP3)

    Ecco il codice:


    codice:
    import java.net.*;
    import java.io.*;
    import java.util.*;
    
    public class RiceviMsg
    {
    int port;
    String host;
    private static BufferedReader in;
    private static DataOutputStream out;
    
    
    public static void main(java.lang.String[] args) throws Exception
    {
    String username = args[0];  // users name
    String password = args[1]; // password
    String popServer = args[2]; // POP servers name.
    boolean delete = false;
    boolean secure = false;
    Socket s; // communicazione socket				
    String inputLine; // string to store the line of text we read in.
    String numeroMessaggi; // numero messaggi
      try
    	{
    		
    		if (args.length > 3)
    			if (args[3].compareTo("-s") == 0)
    				secure = true;
    			else if (args[3].compareTo("-d") == 0)
    				delete = true;
    			else 
    				System.out.println("Errore: La sintassi č %java PopClient <username> <password> [-s] [-d]");
    
    		if (args.length > 4)
    			if (args[4].compareTo("-s") == 0)
    				secure = true;
    			else if (args[4].compareTo("-d") == 0)
    				delete = true;
    			else 
    				System.out.println("Errore: La sintassi č %java PopClient <username> <password> [-s] [-d]");	
    
    {
    // connessione al server
    Socket s = new Socket("nome_host", 110); // host e porta
    Out = new DataOutputStream( s.getOutputStream() ); 
    In = new BufferedReader( new InputStreamReader(s.getInputStream()) );
    String line;
    }
    
    inputLine = readFromInputStream(); // autenticazione
    
    if (!readFromInputStream().startsWith("+OK"))
    	{
    	   System.out.println("User name errato, disconnessione in corso");
    	   s.close();
    	   System.exit(1);
    	}
    		
    	// invio pass
    	out.println("PASS " + password);
    	System.out.println("c: PASS ********");
    	// aspetta la risposta
    	inputLine = readFromInputStream();
    		
    	if (!inputLine.startsWith("+OK"))
    	{
    	System.out.println("Password errata, disconnesisone in corso");
    	s.close();
    	System.exit(1);
    	}
    
    else 
    
            {
    	String timeStamp = inputLine.substring(4,inputLine.length());
    	System.out.println(timeStamp);
    			
    	// concatenate timestamp with secret(password) and encrypt using md5.
    	md5 mdc = new md5(timeStamp + password);
    	System.out.println(timeStamp + password);
    	mdc.calc();
    	DataOutputStream("APOP " + username + " " + mdc);
    	readFromInputStream();
    	s.close();
    	System.exit(1);
    	}			
    	
    	DataOutputStream("STAT");
    	
    	inputLine = readFromInputStream();
    	
    if (!inputLine.startsWith("+OK"))
    	{
    	System.out.println("Errore:" + inputLine);
    	s.close();
    	System.exit(1);
    	}	
    			
    int i = inputLine.lastIndexOf(' ');
    numeroMessaggi = inputLine.substring(4,i);
    
    System.out.println("Hai " + numeroMessaggi + " messaggio/i nella tua mailbox!");
    
    
    }
    
    // scarica i messaggi
    // per ogni messaggio invochiamo il comando RETR with as parameter the number
    // (index) of the message
    int n = Integer.parseInt(numberMessages);
    int numberBytes;
    for (int msg = 1;msg<=n;msg++)
         {
    	System.out.println("Retreaving message " + msg);							
    	DataOutputStream("RETR " + msg); 
    	inputLine = readFromInputStream();
                if (!inputLine.startsWith("+OK"))
    		{
          		  System.out.println("Error: " + inputLine);
    		  s.close();
    		  System.exit(1);
    		}
    	 i = inputLine.lastIndexOf(' ');
    	 numberBytes = Integer.parseInt(inputLine.substring(4,i));
    	 inputLine = in.readLine(); 
    	  while (inputLine.compareTo(".") != 0)
    	    {
    		if (inputLine.compareTo("..") == 0)
    		    System.out.println(".");
    			else	
    			    System.out.println(inputLine);
    			    inputLine = in.readLine();
    	     }
    	if (delete)
    	   {
    		DataOutputStream("DELE " + msg);				
    		readFromInputStream();
    	   }	
           }						
    		
    // fine della connessione e della classe RiceviMsg		
    DataOutputStream("QUIT");
    readFromInputStream();
    s.close();
    System.exit(1);
    
    }
    
    catch (IOException e) { System.err.println("IOException : " + e);}
    
    // metodo DataOutputStream
    private static void DataOutputStream(String s) throws IOException
    {
    	System.out.println("c: " + s);
    	out.println(s);
    	return;
    }
    
    // metodo readFromInputStream
    private static String readFromInputStream() throws IOException
    {
    	String s = in.readLine();
    	if (s != null)
    		System.out.println("s: " + s);	
    	return s; 
    }
    }


    vi allego 2 file .gif in cui potete vedere gli errori in fase si compilazione.
    Immagini allegate Immagini allegate
    ...credi sia aria quella che stai respirando?

  2. #2
    Utente di HTML.it L'avatar di MOBILUK
    Registrato dal
    Apr 2001
    Messaggi
    225
    e questo č il secondo file .gif degli errori in fase di compilazione

    all'ultima riga l'errore č sulla r di readFromInputStream();

    in totale sono 25 errori
    Immagini allegate Immagini allegate
    ...credi sia aria quella che stai respirando?

  3. #3
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    prima di // scarica i messaggi hai messo una } che non va

  4. #4
    Utente di HTML.it L'avatar di MOBILUK
    Registrato dal
    Apr 2001
    Messaggi
    225
    evidentemente non č solo quello l'errore dato che eliminando la parentesi graffa a cui ti riferisci gli errori diminuiscono solo da 25 a 23

    ...cmq č giā qualcosa! Quale possono essere altri errori? :quipy:
    ...credi sia aria quella che stai respirando?

  5. #5
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    risolvi (o posta) il primo errore e ricompila

  6. #6
    Utente di HTML.it L'avatar di MOBILUK
    Registrato dal
    Apr 2001
    Messaggi
    225
    Originariamente inviato da floyd
    risolvi (o posta) il primo errore e ricompila
    il primo errore č:

    RiceviMsg.java:152: illegal startof expression
    private static void DataOutputStream(String s) throws IOException

    la freccetta d'errore č sull p di private
    ...credi sia aria quella che stai respirando?

  7. #7
    cambia i private in protected
    Se ho sparato na cazzata................. correggetemi!
    La stupiditā umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  8. #8
    Utente di HTML.it L'avatar di MOBILUK
    Registrato dal
    Apr 2001
    Messaggi
    225
    Originariamente inviato da Luc@s
    cambia i private in protected
    Se ho sparato na cazzata................. correggetemi!
    ...tentar non nuoce, ma nulla da fare! ...sempre 23 errori!
    ...credi sia aria quella che stai respirando?

  9. #9
    prova con
    codice:
    int port=null;
    String host=null;
    private static BufferedReader in=null;
    private static DataOutputStream out=null;
    La stupiditā umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  10. #10
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    chiudi il metodo main prima di DataOutputStream con }

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