UDP --- El protocolo de datagrama de usuario es un simple protocolo de capa de transporte orientado al datagrama. UDP no proporciona confiabilidad. Simplemente envía datagramas enviadas por aplicaciones a la capa IP, pero no garantiza que puedan llegar al destino, ni garantiza el orden en que llegan los paquetes de datos. Dado que UDP no necesita establecer una conexión entre el cliente y el servidor antes de transmitir el datagrama, y no existe un mecanismo como la retransmisión de tiempo de espera, la velocidad de transmisión es muy rápida.
Implementación de UDP en Java:
* UDP:
* Cliente:
* 1. Cree el objeto Socket para la comunicación UDP-Datagramsocket (para enviar y recibir datos de UDP) --- Socador de datagrama
* 2. Preparar datos, paquete de encapsulación --- DataGrampacket (paquete de datos)
* 3. Enviar datos, a través del método de envío
* 4. Cierre el objeto de socket de objeto de socket
* Lado del servidor: recibir datos
* 1. Cree un objeto de socket de socket y ata el número de puerto
* 2. Crear objeto de paquete, crear una matriz vacía y prepararse para recibir datos
* 3. Recibir datos
* 4. Cierre el recurso
* Método de transmisión UDP:
* Todos los hosts en el mismo segmento de red pueden recibirlo, siempre que el puerto debe escuchar
* El cliente envía una transmisión y el servidor que permite que el monitoreo del puerto reciba e imprima mensajes
* Implementación de la transmisión: la transmisión es enviada por el cliente y recibida por el servidor
* String host = "255.255.255.255"; // transmitir la dirección de los hosts de la dirección
* 10.0.122.255 ---- representa que todos los hosts cuyos primeros tres segmentos de red son 10.0.122
Implementación del código:
Cliente (enviar):
import java.io.ioException; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.inetaddress; import java.net.socketexception; import java.net.nunknownHostException; public class UDP_client {public void main (String [] string [] args) shrowsi -shrowception { / /1. Cree un objeto // Construya un socket de datagrama y víntelo a cualquier puerto disponible en LocalHost. Datagramsocket socket = new DataGramSocket (); // 2. Byte de embalaje [] arr = "cliente: jaja ...". GetBytes (); // Cuatro parámetros: longitud del paquete del paquete de objeto de host número de puerto datagrampacket paquete = nuevo DataGrampacket (arr, arr.length, inetaddress.getByName ("10.0.122.255"), 4000); // 3. Enviar socket.send (paquete); // 4. Cierre el recurso Socket.close (); }}Lado del servidor (lado del receptor):
import java.io.ioException; import java.net.datagrampacket; import java.net.datagramsocket; import java.net.socketexception; import java.util.arrays; public class UDP_Server {public static void Main (String [] args) lanza IOException {// 1 datacocketsocket = nechojocketkocketTocket = nechojessocket = nechojessocket = necho a necio (necio (4000) (4000). // 2 byte [] arr = new Byte [1024]; Paquete de dataGrampacket = nuevo DataGrampacket (arr, arr.length); // 3 Cuando el programa se está ejecutando, el método de recepción estará en el estado de escucha Serversocket.Receive (paquete); // obtener los datos del byte del paquete [] arr1 = paquete.getData (); System.out.println (nueva cadena (arr1)); // 4 ServerSocket.close (); }}resultado:
Los primeros tres segmentos de red son servidores con el número de puerto 4000 en todos los hosts con el número de puerto 10.0.122. Mientras estén abiertos, se pueden recibir
Cliente: jaja. . . .
El formulario de transmisión anterior basado en UDP en Java (explicación de ejemplo) es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.