Comunicación de programación UDP
¿El cliente envía primero y luego recibe? El servidor recibe primero y luego envía.
Este es un ejemplo de servidor y cliente. Puedes cambiarlo de forma básica.
¿Enviar valor trilateral cuando el cliente envía? Una vez que el servidor lo recibe, escribe una función para calcular el área del triángulo, pasa los valores de los tres lados recibidos al resultado del cálculo de la función y los devuelve al cliente como datos.
/**
*UDPServer
*/
¿Importado? java.io.*;
¿Importar? Java.net.*;
¿Clase? Servidor UDP{
¿Público? ¿Electricidad estática? ¿Vacío? ¿Lanzamiento principal (Cadena []? Args)? IOException{
¿DatagramSocketservidor? =?Nuevo? socket de datagrama(5050);
byte[]? recvBuf? =?Nuevo? byte[100];
¿DatagramPacket? paquete recv?
=?¿Nuevo? DatagramPacket(recvBuf?,?recvbuf. length);
servidor.recibir(paquete recv);
Cadena? recvStr? =?Nuevo? String(recvPacket.getData()?,?0?,?recv paquete.getlength());
System.out.println("¿Hola? Mundo!"??recvStr);
int? ¿puerto? =?paquete recv. obtener puerto();
¿Dirección Inet? dirección? =?paquete recv. obtener dirección();
¿Cadena? enviarStr? =?"¡¿Hola?!? Soy? Servidor";
byte[]? enviarBuf
enviarBuf? =?sendstr . getbytes();
¿DatagramPacket? ¿Enviar paquete?
=?¿Nuevo? DatagramPacket(sendBuf?, ?sendBuf.length?, ?addr?, ?puerto?
servidor .enviar paquete
servidor(); p>
p>
}
}/**
*Cliente
*/
¿Importar? java.io.*;
¿Importar? Java.net.*;
¿Clase? UDPClient{
¿Público? ¿Electricidad estática? ¿Vacío? ¿Lanzamiento principal (Cadena []? Args)? IOException{
¿DatagramSocket? ¿cliente? =?Nuevo? socket de datagrama();
¿Cadena? enviarStr? =?"¡Hola!? ¿Soy? Cliente";
byte[]? enviarBuf
enviarBuf? =?sendstr . getbytes();
¿Dirección Inet? dirección? =?inetaddress . get byname(" 127 . 0 . 0 . 1 ");
int? ¿puerto? =?5050;
Paquete de datagramas? ¿Enviar paquete?
=?¿Nuevo? DatagramPacket(sendBuf?, sendBuf.length?, ?addr?, ?port);
cliente (enviar paquete); recvBuf? =?Nuevo? byte[100];
<p>Paquete de datagramas? recvPacket
=?¿Nuevo? DatagramPacket(recvBuf?,?recvbuf. length);
cliente. recibir(paquete recv);
Cadena? recvStr? =?Nuevo? String(recvPacket.getData()?,?0?,recv paquete.getlength());
System.out.println("Entendido:"?recvStr);
cliente . cerrar();
}
}