Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - c# - POP3
Forum - C# / VB.NET - c# - POP3

Avatar
dacanalr (Normal User)
Rookie


Messaggi: 26
Iscritto: 23/07/2009

Segnala al moderatore
Postato alle 14:36
Mercoledì, 29/07/2009
Questo topic è stato chiuso dal moderatore

Salve a tutti !
ho provato a fare un programma che si connette a un server pop3 ma la seconda volta che leggo la risposta del server si impalla

vi allego il file con il sorgente se volete darmi una mano... ci sono molte console.WriteLine() per capire dove si blocca.

Ciao egarzie


Io sono Bender! Prego, inserire floppino!
PM
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 14:41
Mercoledì, 29/07/2009
Tu continui a pensare di allegare, ma non c'e' traccia di file ...


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM
Avatar
dacanalr (Normal User)
Rookie


Messaggi: 26
Iscritto: 23/07/2009

Segnala al moderatore
Postato alle 14:56
Mercoledì, 29/07/2009
allora lo scrivo qui:
Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net;
  6. using System.Net.Sockets;
  7.  
  8.  
  9. namespace ControllaMail
  10. {
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.             byte[] command;
  16.             TcpClient server = new TcpClient("in.alice.it", 110);
  17.            
  18.             if (server.Connected)
  19.             { Console.WriteLine("Connessione avvenuta"); }
  20.             else
  21.             {
  22.                 Console.WriteLine("Connessione fallita");
  23.                 Console.Read();
  24.                 server.Close();
  25.                 return;
  26.             }
  27.            
  28.             NetworkStream serverStream = server.GetStream();
  29.             //Console.WriteLine("Debug1");
  30.             //Console.Read();
  31.             Console.WriteLine(rispostaServer(serverStream,server));
  32.            
  33.             command = System.Text.Encoding.Default.GetBytes("user mio_ind_email");
  34.             if(serverStream.CanWrite)
  35.             {
  36.                 serverStream.Write(command, 0, command.Length);
  37.                 Console.WriteLine("Scrivo user");
  38.                 Console.WriteLine(rispostaServer(serverStream, server));
  39.             }else { Console.WriteLine("Non Scrivo user");}
  40.            
  41.             command = System.Text.Encoding.Default.GetBytes("pass mia_pass");
  42.             if (serverStream.CanWrite)
  43.             {
  44.                 serverStream.Write(command, 0, command.Length);
  45.                 Console.WriteLine("Scrivo pass");
  46.             }
  47.             else { Console.WriteLine("Non Scrivo pass"); }
  48.             Console.WriteLine(rispostaServer(serverStream,server));
  49.             Console.WriteLine("Debug2");
  50.             Console.WriteLine(Console.ReadLine());
  51.             serverStream.Close();
  52.             server.Close();
  53.            
  54.         }
  55.  
  56.         public static string rispostaServer(NetworkStream ns, TcpClient tc)
  57.         {
  58.             if (ns.CanRead)
  59.             {
  60.                 Console.WriteLine("Sto ricevendo");
  61.                 byte[] byteRicevuti = new byte[tc.ReceiveBufferSize];
  62.                 StringBuilder myBuilder = new StringBuilder();
  63.                 int numeroByteLetti = 0;
  64.  
  65.                 if (ns.CanRead)
  66.                 {
  67.                     Console.WriteLine(ns.CanRead);
  68.                     numeroByteLetti = ns.Read(byteRicevuti, 0, byteRicevuti.Length);
  69.                     Console.WriteLine("nByte {0}", numeroByteLetti);
  70.                 }
  71.                 myBuilder.AppendFormat("{0}", Encoding.ASCII.GetString(byteRicevuti, 0, numeroByteLetti));
  72.                 return myBuilder.ToString();
  73.             }
  74.             else Console.WriteLine("Nulla da leggere");
  75.             return "";
  76.         }
  77.  
  78.        
  79.     }
  80. }


Ultima modifica effettuata da dacanalr il 29/07/2009 alle 15:01


Io sono Bender! Prego, inserire floppino!
PM
Avatar
dacanalr (Normal User)
Rookie


Messaggi: 26
Iscritto: 23/07/2009

Segnala al moderatore
Postato alle 16:59
Mercoledì, 29/07/2009
Finalmente risolto dopo ore a scervellarmi per poi scoprire che era una cavolata :pat:

basta mettere alla fine dei comandi al server un \r\n     et voilà

Ciao


Io sono Bender! Prego, inserire floppino!
PM