Tous les programmes (sauf un) sont écrits en UTF8. Ils doivent être compilés avec l'option -encoding UTF8 de javac
Les trois programmes suivants proviennent, à l'origine, de
Tester ces programmes entre 2 machines et sur des systèmes d'exploitation différents : Linux et Windows
Sous Windows, on lancera les programmes de la manière suivante :
Sous Linux, on pourra faire :
Tester en particulier, la mise en majuscule des caractères accentuées.
On pourra obtenir l'adresse locale (Nom de la Machine / numéro IP) par programmation java.
Il se peut que la mise en majuscule des caractères accentués (é à à ...) ne marche pas.
Cela peut être le cas si le serveur est lancé sous Linux et le client sous Windows.
Cela peut être aussi le cas si le serveur est lancé à partir d'un « xterm » et le client à partir d'un « terminal ».
Cela est du au fait que les codages des caractères lus sont différents.
Sous Linux, il est possible d'utiliser les variables d'environnement « LANG » et « LC-CTYPE » pour définir ou connaître le codage des caractères utilisés dans la fenêtre de commandes courante.
La commande « locale » permet de connaître le codage.
La commande « locale -a » permet d'obtenir la liste des langages
La commande « locale -m » permet d'obtenir la liste des codages
Il est aussi possible de tester dans le programme JAVA le langage et le codage, puis soit d'avertir l'utilisateur en cas d'anomalie, soit de convertir les caractères lus si besoin.
Ci-après un exemple pour récupérer la valeur de la variable d'environnement « LANG ».
Sous Windows, utiliser la commande ipconfig.exe sous l'interpréteur de commandes cmd.exe
Sous Windows, voir aussi pour la gestion des processus
Sous Linux et sous Windows essayer la commande ping pour tester la présence dans le réseau de la machine où se trouve le serveur.
Ce programme permet de comprendre les Codecs de lecture et écriture, et en particulier celui de la console Windows
La méthode InitCodec de cette classe permet de régler les problèmes des accents avec Windows. Le Codec de la console IBM850 est différent de celui des applications graphiques de Windows Cp1252.
Elle sera utilisée dans les classes Client.java et Serveur.java
Tous les programmes sont codés en UTF-8. Ils détectent le Codec des fichiers d'entrée et sortie standards Le dialogue entre un client et le serveur s'effectue à l'aide de streams utilisant le Codec UTF-8.
Les cinq programmes suivants proviennent, à l'origine, de
Sous Windows, on peut visualiser l'activité UDP et TCP avec