Los ejemplos en este artículo comparten con usted el código específico de Java usando el modo UDP para escribir programas de chat para su referencia. El contenido específico es el siguiente
Código Java:
/* Use el modo UDP para escribir un programa de chat para enviar y recibir datos. Un hilo recibe y se envía un hilo. Dado que las acciones de envío y recepción son inconsistentes, se deben utilizar dos métodos de ejecución. Estos dos métodos deben estar encapsulados en diferentes clases. Este programa ignora algún manejo de excepciones y no agrega componentes de la interfaz de usuario. Este es un puerto de envío simple 9998 Aceptando el puerto 9999. Utiliza una dirección de transmisión de red de área local, por lo que también recibí el mensaje que envié [ejemplo]: programa de chat de consola simple*/ import java.net.*; import java.io.*; Class Demo {public static void main (string [] args) lanza la excepción {dataGramSocket sendSocket = new DataGramSocket (9998); // Enviar datagramsocket recibeivekock = nuevo datagramsocket (9999); // recibir nuevo hilo (nuevo msgsend (sendsocket)). Start (); // Enviar el subproceso nuevo hilo (nuevo MSGRECE (recesocket)). Start (); // recibir hilo}} clase msgsend implementos runnable // send {private dataGramsocket dsock; public msgsend (datagramsocket dsock) {this.dock = dsock; } public void run () {bufferedReader bufr = new BufferedReader (new InputStreamReader (System.in)); String Linestr = NULL; intente {while (true) {linestr = bufr.readline (); if (linest! = null) {if (linest.equals ("over886")) {break; } else {byte [] databuf = linest.getBytes (); DataGrampacket DataPack = // Empaque de datos Nuevo DataGrampacket (Databuf, Databuf.Length, inetaddress.getByName ("192.168.1.255"), // transmitido 9999 // puerto de destino); dsock.send (datapack); }}}} bufr.close (); dsock.close (); } catch (Exception e) {Throw New RuntimeException ("¡Enviar fallido!"); }}} clase MSGRECE implementos runnable // recibir {private datagramsocket dsock; public msgrece (datagramsocket dsock) {this.dock = dsock; } public void run () {try {while (true) {byte [] databuf = new byte [1024]; DataGrampacket dataPack = nuevo DataGrampacket (databuf, databuf.length); dsock.Receive (Datapack); // Guardar los datos recuperados en la cadena de paquetes de datos especificados 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+"<opuesto Port>:"+Port+"Mensaje"); System.out.println (datos); }} Catch (Exception e) {Throw New RuntimeException ("¡Aceptar fallido!"); } finalmente {dsock.close (); }}}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.