Os exemplos deste artigo compartilham com você o código específico de Java usando o modo UDP para escrever programas de bate -papo para sua referência. O conteúdo específico é o seguinte
Código Java:
/* Use o modo UDP para gravar um programa de bate -papo para enviar e receber dados. Um thread recebe e um thread envia. Como as ações de envio e recebimento são inconsistentes, dois métodos de execução precisam ser usados. Esses dois métodos devem ser encapsulados em diferentes classes. Este programa ignora algum manuseio de exceção e não adiciona componentes da interface do usuário. Esta é uma porta simples de envio 9998 Aceitando a porta 9999. Ele usa um endereço de transmissão de rede local, então também recebi a mensagem que enviei [Exemplo]: programa simples de bate -papo de console*/ importar java.net.*; importar java.io.*; classe Demo {public static void main (string [] args) lança exceção {datagramsocket sendSocket = new Datagramsocket (9998); // Enviar DataGramsocket receingSocket = new Datagramsocket (9999); // recebe novo thread (novo msgsend (sendsocket)). Start (); // Envie o thread New Thread (novo Msgrece (receita)). Start (); // Receba Thread}} classe msgsend implementa Runnable // Enviar {private Datagramsocket Dsock; public msgsend (datagramsocket dsock) {this.dsock = dsock; } public void run () {bufferredader bufr = new buffarredreader (new InputStreamReader (System.in)); String lineST = null; tente {while (true) {lineSt = bufr.readline (); if (lineST! = null) {if (linest.equals ("over886")) {break; } else {byte [] databuf = lineSt.getBytes (); DataGRaiNDAcket datapack = // embalagem de dados Novo DatagRampacket (Databuf, Databuf.length, inetAddress.getByName ("192.168.1.255"), // transmitir 9999 // porta de destino); dsock.send (Datapack); }}}} bufr.close (); dsock.close (); } catch (Exceção e) {lança nova RunTimeException ("Send Faily!"); }}} classe Msgrece implementa Runnable // Receba {private datagramsocket dsock; public msgrece (datagramsocket dsock) {this.dsock = dsock; } public void run () {try {while) {byte [] databuf = new Byte [1024]; DataGRaiNDAcheet Datapack = new DatagRampacket (Databuf, Databuf.length); dsock.receive (Datapack); // Salve os dados recuperados no pacote de dados especificado string ip = datapack.getAddress (). Gethostaddress (); String data = new String (Datapack.getData (), 0, DataPack.getLength ()); int porta = datapack.getport (); System.out.println (); System.out.println ("de ip"+ip+"<porta oposta>:"+porta+"mensagem"); System.out.println (dados); }} Catch (Exceção e) {tiro a nova RunTimeException ("Aceite falhou!"); } finalmente {dsock.close (); }}}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.