Sistaroro
Bonjour ,
j'ai un petit souci. Je souhaite que le serveur puisse récupérer alternativement les éléments produits par le client1 et le client2.J'arrive a récupérer les éléments d'un seul client a la fois en lancant le serveur et ensuite le client.Comment puis-je faire?Merci
Je met mon code.
/*############################Serveur#########################*/
import java.io.*;
import java.net.*;
public class Serveur {
static final int port = 8080;
public static void main(String[] args) throws Exception {
ServerSocket s = new ServerSocket(port);
Socket soc = s.accept();
// Un BufferedReader permet de lire par ligne.
BufferedReader plec1 = new BufferedReader(
new InputStreamReader(soc.getInputStream())
);
ClientC clientc=new ClientC();
clientc.start();
while (true) {
String str1 = plec1.readLine(); // lecture du message
System.out.println("RECU = " + str1); // trace locale
if (str1.equals("FIN")) break;
}
plec1.close();
soc.close();
}
}
/*############################################################################*/
/*########################Client 1################################*/
import java.io.*;
import java.net.*;
/** Le processus client se connecte au site fourni dans la commande
* d'appel en premier argument et utilise le port distant 8080.
*/
public class ClientL {
static final int port = 8080;
public static void main(String[] args)
{
}
public void start() throws Exception
{
char Tab[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
Socket socket = new Socket("127.0.0.1", port);
System.out.println("SOCKET = " + socket);
PrintWriter pred = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
for (int i = 0; i < 26; i++) {
pred.println(Tab[i]); // envoi d'un message
}
System.out.println("FIN"); // message de terminaison
pred.println("FIN") ;
pred.close();
socket.close();
}
}
/*#########################################################################################*/
/*#####################Client 2 ################
import java.io.*;
import java.net.*;
/** Le processus client se connecte au site fourni dans la commande
* d'appel en premier argument et utilise le port distant 8080.
*/
public class ClientC {
static final int port = 8186;
public static void main(String[] args)
{
}
public void start()throws Exception
{
Socket socket = new Socket("127.0.0.1", port);
System.out.println("SOCKET = " + socket);
PrintWriter pred = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
for (int i = 0; i < 26; i++) {
pred.println(i); // envoi d'un message
}
System.out.println("FIN"); // message de terminaison
pred.println("FIN") ;
pred.close();
socket.close();
}
}
/*########################################################*/
Configuration: Windows XP
Firefox 3.0.7