Exemple35_SocketAvecIHMRetourTélécharger Exemple de l'utilisation d'un socket en Java avec une IHM Client.java import java.awt.*; import java.io.*; import java.net.*; import fr.cnam.ihm.*; public class Client { static public void main(String args[]) throws Exception { Socket soc = new Socket(args[0],Integer.parseInt(args[1])); OutputStream os=soc.getOutputStream(); DataOutputStream dos=new DataOutputStream(os); IhmClient ihm = new IhmClient(dos); } } class IhmClient implements FormulaireInt { private Formulaire form; private DataOutputStream dos; public IhmClient(DataOutputStream dos) { this.dos=dos; form = new Formulaire("CLIENT",this,false,300,100); form.addText("Champ","Chaine",true,"xxx"); form.addButton("Envoyer","Envoyer"); try{form.afficher();}catch(Exception ex){} } public void submit(Formulaire form,String nomSubmit) { String valeur = form.getValeurChamp("Champ"); try{ dos.writeUTF(valeur); }catch(Exception ex){System.out.println("Erreur d'ecriture sur le socket");} } } Serveur.java import java.io.*; import java.awt.*; import java.net.*; import fr.cnam.ihm.*; public class Serveur { public static void main(String args[]) throws Exception { IhmServeur ihm = new IhmServeur(); String str; ServerSocket ssoc; ssoc = new ServerSocket(Integer.parseInt(args[0])); System.out.println("En attente..."); Socket soc = ssoc.accept(); System.out.println("Socket accepte"); InputStream is = soc.getInputStream(); DataInputStream dis = new DataInputStream(is); while(true) { System.out.println("Lecture du socket"); str = dis.readUTF(); System.out.println("RECU: "+str); ihm.add(str); } } } class IhmServeur implements FormulaireInt { private Formulaire form; private String texte; public IhmServeur() { texte=""; form = new Formulaire("SERVEUR",this,false,300,500); form.addZoneText("zone","Historique",false,"",0,0,300,500); try{form.afficher();}catch(Exception ex){} } public void add(String str) { texte=texte+"\n"+str; form.setValeurChamp("zone",texte); } public void submit(Formulaire form,String nomSubmit) { } } compil.bat mkdir bin del /f /s /q bin\*.class javac -d bin -classpath "." *.java pause fr cnam ihm runClient.bat cd bin java -classpath "." Client localhost 9100 pause runServeur.bat cd bin java -classpath "." Serveur 9100 pause