[ Foro de Java ]
hola comunidad soy nuevo en esto y la verdad necesito ayuda tengo un problema de como modificar este código que a continuación les dejo:
/*COMUNICACION UDP (protocolo sin conexión/IP) CLIENTE-SERVIDOR CON HILOS
La conexión UDP no es orientada a conexión, es decir, el servidor en principio
no sabe de donde viene el mensaje, aunque lo puede saber mirando el datagrama que le llega.
En otras palabras y comparando con la conexión TCP, UDP no necesita saber quien se conecta a él.
En UDP se envían datagramas a modo de mensajes.*/
package sockets4_servidor;
import java.io.*;
import java.net.*;
public class Sockets4_servidor {
static formu1 formu = new formu1();
static Sockets4_servidor meto = new Sockets4_servidor();
int PUERTO = 5000; //Puerto servidor
String mensa1;
byte[] buffer = new byte[1024]; //buffer donde se almacenara los mensajes
DatagramSocket socketUDP;
DatagramPacket respuesta;
InetAddress direccion;
int puertoCliente;
public static void main(String[] args) {
formu.setVisible(true);meto.conexion();meto.ejecutarconexion();}
public void ejecutarconexion() {
Thread hilo = new Thread(new Runnable() {
@Override
@SuppressWarnings("empty-statement")
public void run() {
while (true) {
try {mensaje();}
finally {;} } } } );
hilo.start();}
public void conexion() {
try {
formu1.jTextArea1.append("Esperando conexión entrante en el puerto: " + PUERTO+ "\n");
direccion = InetAddress.getLocalHost();
formu1.jTextArea1.append("Servidor IP: " + direccion + "\n");}
catch (IOException e) {System.err.println("Error "+e);} }
public void mensaje() {
try {
//Creacion del socket
socketUDP = new DatagramSocket(PUERTO);
//Preparo la respuesta
DatagramPacket peticion = new DatagramPacket(buffer, buffer.length);
//Recibo el datagrama
socketUDP.receive(peticion);
//Convierto lo recibido y mostrar el mensaje
mensa1 =new String(peticion.getData());
formu1.jTextArea1.append(mensa1+"\n");
//Obtengo el puerto y la direccion de origen
//Sino se quiere responder, no es necesario
puertoCliente = peticion.getPort();
direccion = peticion.getAddress();
mensa1="SERVIDOR: Hola Cliente";
buffer = mensa1.getBytes();
//creo el datagrama
respuesta = new DatagramPacket(buffer, buffer.length, direccion, puertoCliente);
//Envio la información
socketUDP.send(respuesta); }
catch (IOException e) {System.err.println("Error "+e);} }
}
pero como ago para aplicarlo y solo responda con numeros octal
Sockets4_cliente
Sockets4_servidor
El servidor solo contesta mensajes con números octal
(0,1,2,3,4,5,6,7)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)