Implementation d'un serveur mail en java

paleyo Messages postés 1 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 14 mai 2004 - 14 mai 2004 à 17:28
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 14 mai 2004 à 22:34
Je dois implémenter un serveur mail en mode terminal,
lorsque je compile le code suivant,il me donne un message :

int genererId(){ // ; execpted

Le programme me demande sans fin un point virgule après {

S'il vous plait aidez-moi à resoudre le problème

A savoir que le programme doit :
1- Envoyer un message
2- Afficher message lu et non lu
3- creer un utilusateur
4- etc

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

public class Server {
FileOutputStream fosu;
FileOutputStream fosm;
FileInputStream fis;

boolean sortie=false;

int id=0;

public static void main(String[] args){
//new Server();
//}

int genererId(){

id+=1;
return id;
}

int calculerMessageLu(String userName) throws Exception{
int nombre=0;
fis=new FileInputStream("c:\\message.dat");
ObjectInputStream ois=new ObjectInputStream(fis);
while(fis.available()>0){
message m=(message)ois.readObject();
if(userName.equalsIgnoreCase(m.destinataire) && m.lu==true){
nombre++;
}
}
fis.close();
return nombre;
}

int calculerMessageNonLu(String userName) throws Exception{
int nombre=0;
fis=new FileInputStream("c:\\message.dat");
ObjectInputStream ois=new ObjectInputStream(fis);
while(fis.available()>0){
message m=(message)ois.readObject();
if(userName.equalsIgnoreCase(m.destinataire) && m.lu==false){
nombre++;
}
}
fis.close();
return nombre;

}

boolean UtilisateurExiste(utilisateur ut) throws Exception{
boolean trouve=false;
fis=new FileInputStream("c:\\utilisateur.dat");
ObjectInputStream ois=new ObjectInputStream(fis);
while(fis.available()>0){
utilisateur ut=(utilisateur)ois.readObject();
if(ut.userName.equalsIgnoreCase(ut.userName)){
trouve=true;
}
}
fis.close();
return trouve;
}


boolean verifier(String userName, String password) throws Exception{
boolean trouve=false;
fis=new FileInputStream("c:\\utilisateur.dat");
ObjectInputStream ois=new ObjectInputStream(fis);
while(fis.available()>0){
utilisateur ut=(utilisateur)ois.readObject();
if(ut.userName.equalsIgnoreCase(userName) && ut.password.equalsIgnoreCase(password)){
trouve=true;
}
}
fis.close();
return trouve;
}

public Server(){
try{
fosu=new FileOutputStream("c:\\utilisateur.dat", false);
fosm=new FileOutputStream("c:\\message.dat", false);

ObjectOutputStream oosu=new ObjectOutputStream(fosu);
ObjectOutputStream oosm=new ObjectOutputStream(fosm);

ServerSocket ss=new ServerSocket(4000);
while(!sortie){
Socket s=ss.accept();
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
int numero=dis.readInt();
switch(numero){
case 1 : {
ObjectInputStream ois=new ObjectInputStream(is);
utilisateur ut=(utilisateur)ois.readObject();
System.out.println(ut);
if(!utilisateurExiste(ut)){
oosu.writeObject(ut);
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println("utilisateur "+ut+ " enregistré");
}
else{
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println("utilisateur "+ut.userName+ " existe deja");
}
}
break;
case 2 :{ //
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String userName=br.readLine();
String password=br.readLine();
if(verifier(userName, password)){
PrintStream ps=new PrintStream(s.getOutputStream());
int nbreLu=calculerMessageLu(userName);
int nbreNonLu=calculerMessageNonLu(userName);
ps.println(""+nbreLu+" Message(s) lu(s) "+nbreNonLu+" message(s) non lu(s)");
}
else{
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println("User name or password incorrecte");
}
}
break;
case 3 :{ //Afficher les messages lus et non lus

}
break;
case 4 :{ //Afficher les messages non lus

}
break;
case 5 :{//Afficher les messages lus

}
break;
case 6 :{//Envoyer un message
ObjectInputStream ois=new ObjectInputStream(is);
message m=(message)ois.readObject();
m.id=genererId();
m.date=new Date();
oosm.writeObject(m);
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println("Le message a ete envoyeur a l'utilisateur "+m.destinataire);
}
break;
case 7 :{ //Lire un message

}
break;
}
s.close();
}
// fos.close();
}//fin try
catch(Exception ex){
System.out.println(ex);
}
}
new Server();
}

}

1 réponse

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
14 mai 2004 à 22:34
Salut,

pour ton pb de compil, enlève les commentaires sur l'accolade fermante de la méthode main.
0
Rejoignez-nous