Je suis entrain de creer une application client/serveur. Le client envoi un entier
au serveur qui lui l'analyse. Mais je pense que j'ai un probleme de type au niveau de la variable int ch.
voici le serveur :
import java.io.*;
import java.net.*;
public class Serveur {
public static void serveur(int p) {
Socket so;
BufferedReader entree;
DataOutputStream sortie;
int ch;
try {
// on crée le serveur
ServerSocket ecoute = new ServerSocket(p);
System.out.println("serveur mis en place ");
// écoute infinie ...
ecoute.setSoTimeout(0);
while (true) {
so = ecoute.accept();
entree = new BufferedReader(new InputStreamReader(so.getInputStream()));
sortie = new DataOutputStream (so.getOutputStream());
ch = entree.readInt();//c est a ce nivau que eclipse me declare une erreur de type.
{
switch(ch)
{
case '0':
so.close();
System.out.println("La lampe est eteint");
System.out.println(" la connexion est fermé");
return;
case '1':
so.close();
System.out.println("La lampe est Allume");
System.out.println("la connexion est fermé");
return;
default :
System.out.println("les parametres sont incorectes");
so.close();
return;
}
}
} }
catch (IOException e) {
System.out.println("problème\n"+e);
}
}
public static void main(String[] args){
serveur(404);
}
}
Voici le client
import java.net.*;
import java.io.*;
public class testounet {
private static void contacterserveur(String s, int p, int ch ) {
Socket so;
BufferedWriter sortie;
try{
so = new Socket(s, p);
// on lui associe un canal en sortie et un en entrée
sortie = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
// on écrit la chaîne et le newline dans le canal de sortie
sortie.write(ch);
so.close();
} catch(UnknownHostException e) {
System.out.println(e);
}
catch (IOException e) { // port non associé à un serveur
System.out.println("Aucun serveur n'est rattaché au port ");
}
}
public static void main(String[] args) {
contacterserveur("192.168.0.7", 404, 0);
}
}
Partager