Problème Socket

nexol Messages postés 4 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 14 janvier 2005 - 11 janv. 2005 à 16:47
nexol Messages postés 4 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 14 janvier 2005 - 12 janv. 2005 à 08:25
salut à tous,

J'essaie d'envoyer un mail en passant par les Socket. Seulement lorsque je compile le programme, j'ai le message d'erreur suivant :

C:\java>javac test.java
test.java:27: socket is already defined in main(java.lang.String[])
Socket socket = new Socket(serveurMail, port);

Voici le programme :

import java.net.*;
import java.util.*;
import java.net.URL;
import java.io.*;
import java.security.*;

public class test {

public static void main(String[] args) {

URL url;
String expediteur = "moi";
String sujet = "Test";
String message = "Test mail";
String serveurMail = "smtp.wanadoo.fr"; //Serveur SMTP
String date;
Socket socket;
int port = 25; //Port standard pour SMTP
PrintWriter fluxSortie;
PrintWriter to;
BufferedReader from;

try {

//Ouverture d'une connexion sur le port 25 du serveur
Socket socket = new Socket(serveurMail, port);

//Récupération du flux de sortie vers le serveur
fluxSortie = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);

//Envoi des informations de connexion


//Envoi de la requête précisant le compte d'envoi
fluxSortie.println("USER "+"[mailto:compte@wanadoo.fr compte@wanadoo.fr]");

//Envoi de la requête précisant l'envoi du message
fluxSortie.println("data");

//Envoi du message
//date = (new Date()).toString();
fluxSortie.println("date "+ sujet +"\n"+ message);

//Terminaison du message
fluxSortie.println(".");

//Envoi de la requête de terminaison de session SMTP
fluxSortie.println("QUIT");
}
catch(NullPointerException e){}
catch(AccessControlException e) {
System.out.println("Connexion impossible: accès refusé !");
System.exit(1);
}
catch(UnknownHostException e) {
System.out.println("Hôte inconnu: connexion impossible !");
System.exit(1);
}
catch(IOException e) {
System.out.println("Pas d'E/S pour la connexion avec l'hôte !");
System.exit(1);
}
catch(Exception e){}
finally {
try {
fluxSortie.close();
socket.close();
}
catch(IOException e){}
catch(NullPointerException e){}
}

}


}

Je ne comprends pas d'ou vient le problème.

Merci d'avance

nexol

2 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
11 janv. 2005 à 18:22
Slut


c'est normal que ce message d'erreur puisque tu définis 2 fois cette variable
La 1ére fois :
String date;
Socket socket;
int port = 25;

La 2nd fois:
//Ouverture d'une connexion sur le port 25 du serveur
Socket socket = new Socket(serveurMail, port);

Du coup, tu dois mettre:
socket = new Socket(serveurMail, port);

Voilà

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
nexol Messages postés 4 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 14 janvier 2005
12 janv. 2005 à 08:25
Désolé, j'avais pas vu que la variable socket était en double. La compilation s'exécute bien sans problème maintenant.

Merci

A +
0