Reescribe client.java en un programa de comunicación basado en el protocolo UDP
importar java.net.*;
importar java.io.*;
importar java.awt.*; ;
importar java.applet.*;
importar java.util.*;
la clase pública Computer_client extiende Applet implementa Runnable, ActionListener{
Cálculo del botón; cuadro de texto de longitud de tres lados de entrada de TextField, cuadro de texto del resultado del cálculo;
//DataInputStream in=null; DataOutputStream out=null; / Se utiliza para enviar/recibir UDP;
paquete DatagramPacket, paquete1; // Se utiliza para guardar contenido UDP
byte[] buffer1=new byte[1000];
byte[] buffer2=nuevo byte[1000];
Hilo de hilo;
Dirección InetAddress;
public void init()
{ setLayout(nuevo GridLayout(2, 2));
Panel p1=nuevo Panel(), p2=nuevo Panel()
Cálculo=nuevo Botón(" Cálculo ");
Ingrese el cuadro de texto de longitud de tres lados = new TextField(12); cuadro de texto del resultado del cálculo = new TextField(12);
p1.add(new Label ("Ingrese la longitud de los tres lados del triángulo, separados por comas o espacios: "));
p1.add(ingrese la longitud de los tres lados del cuadro de texto);
p2.add(new Label(" Resultado del cálculo: ")); p2.add (cuadro de texto del resultado del cálculo); p>
add(p1); add(p2);
//this.setSize(200, 300);
//this.setVisible(true);
}
public void start()
{
try
{ //Establece una conexión UDP con el servidor donde reside el mini programa:
socket=new DatagramSocket(1234);
//packet=new DatagramPacket(buffer1, buffer1.length, "127.0.0.1", 4331 );
}
captura (IOException e){}
if(amenaza
d == nulo)
{ hilo = nuevo hilo(este);
hilo.start();
}
}
public void run()
{ String s=null
while(true)
{ intentar{
//thread.sleep(1000); //Hacer que el hilo espere un período de tiempo para que el servidor realice los cálculos
paquete1=new DatagramPacket(buffer2, buffer2.length); Generar el paquete recibido;
socket.receive(packet1); //Aceptar paquetes del servidor
s=new String(packet1.getData());
if (s.equals(Ingrese la longitud de tres lados text box.getText()))
Resultado del cálculo text box.setText("Cálculo en curso, presione nuevamente...") ;
else
Resultado del cálculo text box.setText(s);
}
catch(Exception e) {
Resultado del cálculo Text box.setText("Desconectado del servidor");
break
}
}
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==cálculo)
{ String s=Ingrese la longitud de tres lados text box.getText( );
if(!s.equals("")) //Hay un problema con el programa fuente aquí
{
buffer1=s.getBytes() ;
try{
addr=InetAddress.getLocalHost();
paquete=new DatagramPacket(buffer1, buffer1 .length, addr, 4331);
p>
socket.send(packet); //Enviar paquete al servidor
}
catch; (Excepción ee){System.out.println("¡Error al enviar el datagrama al servidor! "); };
}
else
Resultado del cálculo text box.setText("¡Ingrese el contenido!");
}
}
}