Die Beispiele in diesem Artikel teilen Ihnen den spezifischen Java -Code mit dem UDP -Modus mit, um Chat -Programme für Ihre Referenz zu schreiben. Der spezifische Inhalt ist wie folgt
Java -Code:
/* Verwenden Sie den UDP -Modus, um ein Chat -Programm zum Senden und Empfangen von Daten zu schreiben. Ein Thread empfängt und ein Thread sendet. Da die Send- und Empfangsaktionen inkonsistent sind, müssen zwei ausgeführte Methoden verwendet werden. Diese beiden Methoden müssen in verschiedene Klassen eingekapselt werden. Dieses Programm ignoriert einige Ausnahmeregelungen und fügt keine UI -Komponenten hinzu. Dies ist ein einfaches Senden von Port 9998, der Port 9999 akzeptiert. Es verwendet eine lokale Netzwerk -Broadcast -Adresse. Daher habe ich auch die Nachricht erhalten, die ich mir selbst gesendet habe [Beispiel]: Einfaches Konsolen -Chat -Programm*/ import Java.net.*; import Java.io.*; Klasse Demo {public static void main (String [] args) löst eine Ausnahme aus {datagramsocket sendSocket = new Datagramsocket (9998); // DataGramSocket empfesselEsChet = new DatagramSocket (9999); // Neuen Thread (neuer MSGSend (sendSocket)). Start (); // Thread neuer Thread senden (neuer MSGrece (Recesocket)). Start (); // Thread}} Klasse msgSend implementiert runnable // Senden {private datagramsocket dsock; public msgSend (Datagramsocket dsock) {this.dsock = dsock; } public void run () {bufferedReader buf = new bufferedReader (neuer InputStreamReader (System.in)); String linest = null; try {while (true) {letest = buffr.readline (); if (linest! } else {byte [] databuf = lineest.getBytes (); DataGrampacket DataPack = // Datenverpackung Neues DataGrampacket (Databuf, Databuf.Length, Inetaddress.GetByName ("192.168.1.255"), // Broadcast 9999 // Zielport); dsock.send (Datapack); }}}} bufr.close (); dsock.close (); } catch (Ausnahme E) {neue runTimeException werfen ("Senden fehlgeschlagen!"); }}} class msgrece implementiert runnable // empfangen {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); // Speichern Sie die abgerufenen Daten in der angegebenen Datenpaket -String 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+"<entgegengesetzter Port>:"+port+"meldung"); System.out.println (Daten); }} catch (Ausnahme e) {neue runTimeexception werfen ("Akzeptieren fehlgeschlagen!"); } endlich {dsock.close (); }}}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.