Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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

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 ...

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
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

PM