Lors du test d'un programme permettant de g=E9rer les emails=20
via le protocol POP3, j'ai rencontr=E9 quelques probl=E8mes.
Mon probl=E8me est tr=E8s simple je me connecte, pas de=20
probl=E8me, j'envoi la commande "USER", pas de probl=E8me, je=20
recois la r=E9ponse du serveur, pas de probl=E8me, j'envoi la=20
commande "PASS", pas de probl=E8me, je recois la =E9ponse du=20
serveur, ca plante, le programme reste bloqu=E9 sur=20
le "Receive".
voila le code :
// Fonction principale pour la connection
private void Connecter()
{
Connection();
EnvoiCommande(m_Socket,"USER " + strUser + "\n");
RecupereReponse(m_Socket);
EnvoiCommande(m_Socket,"PASS " + strPass + "\n");
RecupereReponse(m_Socket);
}
// Fonction permettant la connexion au serveur
protected void Connection()
{
try
{
m_Socket=3Dnew Socket
(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
IPAddress AdresseIP=3D
Dns.Resolve(strServerPop).AddressList[0];
IPEndPoint ep=3Dnew IPEndPoint(AdresseIP,110);
m_Socket.Connect(ep);
// En cas d'erreur, une exception est g=E9n=E9r=E9 par=20
connect ou bind
PanneauStatusConnexion.Text=3D"Connect=E9";
}
catch(Exception Erreur)
{
MessageBox.Show(Erreur.Message);
}
}
// Fonction d'envoi de commande au serveur POP3
protected void EnvoiCommande(Socket Sock, string Commande)
{
try
{
// if(!m_Socket.Connected)
// Connection();
Byte[] cmdBytes =3D=20
Encoding.ASCII.GetBytes((Commande).ToCharArray());
=09
int Nbre=3DSock.Send(cmdBytes,=20
cmdBytes.Length,
SocketFlags.None);
}
catch(Exception Erreur)
{
MessageBox.Show(Erreur.Message);
}
}
// Fonction de r=E9ception des donn=E9es du serveur POP3
protected void RecupereReponse(Socket Sock)
{
try
{
int NbreByte=3D0;
Byte[] Buffer =3D new Byte[256];
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LEBRUN Thomas
Tes commandes devaient se terminer par rn et pas seulement n
-- LEBRUN Thomas MCP Visual C# (70-316)
"Patrick Bastin" a écrit :
Bonjour,
Lors du test d'un programme permettant de gérer les emails via le protocol POP3, j'ai rencontré quelques problèmes. Mon problème est très simple je me connecte, pas de problème, j'envoi la commande "USER", pas de problème, je recois la réponse du serveur, pas de problème, j'envoi la commande "PASS", pas de problème, je recois la éponse du serveur, ca plante, le programme reste bloqué sur le "Receive". voila le code :
int Nbre=Sock.Send(cmdBytes, cmdBytes.Length, SocketFlags.None);
} catch(Exception Erreur) { MessageBox.Show(Erreur.Message); } } // Fonction de réception des données du serveur POP3 protected void RecupereReponse(Socket Sock) { try { int NbreByte=0; Byte[] Buffer = new Byte[256];
Tes commandes devaient se terminer par rn et pas seulement n
--
LEBRUN Thomas
MCP Visual C# (70-316)
"Patrick Bastin" a écrit :
Bonjour,
Lors du test d'un programme permettant de gérer les emails
via le protocol POP3, j'ai rencontré quelques problèmes.
Mon problème est très simple je me connecte, pas de
problème, j'envoi la commande "USER", pas de problème, je
recois la réponse du serveur, pas de problème, j'envoi la
commande "PASS", pas de problème, je recois la éponse du
serveur, ca plante, le programme reste bloqué sur
le "Receive".
voila le code :
int Nbre=Sock.Send(cmdBytes,
cmdBytes.Length,
SocketFlags.None);
}
catch(Exception Erreur)
{
MessageBox.Show(Erreur.Message);
}
}
// Fonction de réception des données du serveur POP3
protected void RecupereReponse(Socket Sock)
{
try
{
int NbreByte=0;
Byte[] Buffer = new Byte[256];
Tes commandes devaient se terminer par rn et pas seulement n
-- LEBRUN Thomas MCP Visual C# (70-316)
"Patrick Bastin" a écrit :
Bonjour,
Lors du test d'un programme permettant de gérer les emails via le protocol POP3, j'ai rencontré quelques problèmes. Mon problème est très simple je me connecte, pas de problème, j'envoi la commande "USER", pas de problème, je recois la réponse du serveur, pas de problème, j'envoi la commande "PASS", pas de problème, je recois la éponse du serveur, ca plante, le programme reste bloqué sur le "Receive". voila le code :
int Nbre=Sock.Send(cmdBytes, cmdBytes.Length, SocketFlags.None);
} catch(Exception Erreur) { MessageBox.Show(Erreur.Message); } } // Fonction de réception des données du serveur POP3 protected void RecupereReponse(Socket Sock) { try { int NbreByte=0; Byte[] Buffer = new Byte[256];