Les exemples de cet article partagent avec vous le code spécifique de Java utilisant le mode UDP pour écrire des programmes de chat pour votre référence. Le contenu spécifique est le suivant
Code Java:
/ * Utilisez le mode UDP pour écrire un programme de chat pour envoyer et recevoir des données. Un thread reçoit et un thread envoie. Étant donné que les actions d'envoi et de réception sont incohérentes, deux méthodes d'exécution doivent être utilisées. Ces deux méthodes doivent être encapsulées dans différentes classes. Ce programme ignore une gestion des exceptions et n'ajoute pas les composants de l'interface utilisateur. Ceci est un simple port 9998 Accepter le port 9999. Il utilise une adresse de diffusion réseau locale, j'ai donc également reçu le message que je me suis envoyé [Exemple]: Programme de chat console simple * / Import Java.net. *; importer java.io. *; classe Demo {public static void main (String [] args) lève l'exception {datagramSocket SendSocket = new DatagramSocket (9998); // Envoyer DatagramSocket Receivesocket = new DatagramSocket (9999); // reçoit un nouveau thread (nouveau msgSend (SendSocket)). Start (); // Envoi du thread nouveau thread (new Mgrèce (ReCesocket)). Start (); // recevoir du thread}} classe MSGSEND implémente Runnable // Send {private datagramsocket dsock; public msgSend (datagramsocket dsock) {this.dsock = dsock; } public void run () {BufferedReader bufr = new BufferedReader (new inputStreamReader (System.in)); String linestr = null; try {while (true) {linestr = bufr.readline (); if (linestr! = null) {if (linestr.equals ("over886")) {break; } else {byte [] databuf = linestr.getBytes (); Datagrampacket Datapack = // Packaging Data Packaging New Datagrampacket (Databuf, Databuf.length, InetAddress.getByname ("192.168.1.255"), // Broadcast 9999 // Port cible); DSock.Send (DataPack); }}}} bufr.close (); dsock.close (); } catch (exception e) {lancer un nouveau RuntimeException ("Send a échoué!"); }}} classe Msgrece implémente Runnable // reçoit {private datagramsocket dsock; public MSGRECE (DatagramSocket DSock) {this.dsock = dsock; } public void run () {try {while (true) {byte [] databuf = new byte [1024]; Datagrampacket datapack = new Datagrampacket (databuf, databuf.length); dsock.receive (dataPack); // Enregistrez les données récupérées dans la chaîne de paquets de données spécifiée ip = datapack.getAddress (). GethostAddress (); String data = new String (dataPack.getData (), 0, datapack.getLength ()); int port = dataPack.getport (); System.out.println (); System.out.println ("From IP" + IP + "<Port opposé>:" + port + "message"); System.out.println (données); }} catch (exception e) {lancer un nouveau RuntimeException ("Accept a échoué!"); } enfin {dsock.close (); }}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.