Foro de elhacker.net

Programación => Java => Mensaje iniciado por: MaEdCo en 27 Octubre 2007, 18:25 pm



Título: Por favor me pueden ayudar con esta practica UDP en Java
Publicado por: MaEdCo en 27 Octubre 2007, 18:25 pm
Pues eso, haber si alguien por favor seria tan amable de colaborarme con esta practica

http://www.zshare.net/download/4487693cad378a/

o decirme donde consigo informacion sobre sockets pero que este bien explicado como envio y recibo: desde un server y desde un cliente

gracias

ahh lo que he logrado hacer es simplemente paso de mensajes

Cliente
Código:
import java.net.*;
import java.io.*;

public class ClienteSaludoUDP{
 public static void main(String args[]){
 String mensaje;
 if(args.length==1){
   mensaje=args[0];
   DatagramSocket socket=null;
   try{
    byte[]buffer_salida=mensaje.getBytes();
    InetAddress destino = InetAddress.getByName("localhost");
    DatagramPacket datagrama = new DatagramPacket(buffer_salida,buffer_salida.length,destino,9000);
    socket = new DatagramSocket();
    socket.send(datagrama); 
   } catch(IOException e){
      e.printStackTrace();
      } finally {
        if(socket != null) socket.close();
        }
  }
  else{
     System.out.println("USo:ClienteSaludoUDP mensaje");
  }
 }
}   

Servidor
Código:
import java.net.*;
import java.io.*;

public class ServidorSaludoUDP
{
 public static void main(String args[])
 {
  try
    {
      DatagramSocket socket = new DatagramSocket(9000);
      byte[] buffer_entrada = new byte[255];
      byte[] datos;
      String mensaje;
      do
       {       
        DatagramPacket datagrama = new DatagramPacket(buffer_entrada,buffer_entrada.length);
        System.out.println("Servidor>))))))...");
        socket.receive(datagrama);
        System.out.println("Recibiendo Informacion: ");
        InetAddress hostDestino = datagrama.getAddress();
        int puertoDestino = datagrama.getPort();
        datos = datagrama.getData();
       

       
       
        mensaje = new String(datos,0,datos.length);
     


        System.out.println("Clente: "+hostDestino.getCanonicalHostName()+"|Puerto #"+puertoDestino+"|          Mensaje:"+mensaje.trim());
        for( int i=0; i < datagrama.getLength(); i++ )
        datos[i] = (byte)(' ');
        System.out.println("==============================================================");
      } while(true);
    }
   catch(IOException e)
   {e.printStackTrace();}
 }

}
:-[ :xD :D


Título: Re: Por favor me pueden ayudar con esta practica UDP en Java
Publicado por: egyware en 29 Octubre 2007, 18:54 pm
yo no se mucho sobre datagramas aun pero e usado TCP y para eso debes poner el socket a la escucha  :huh: creo acuerdate que tb los datagramas no todos llegan se pierden en el camino tb, bueno disculpa por no ayudarte pero tu problema me sirvio para saber como enviar un datagrama (ahorame queda solo hacerlo  :( at my house)


Título: Re: Por favor me pueden ayudar con esta practica UDP en Java
Publicado por: MaEdCo en 31 Octubre 2007, 03:51 am
yo no se mucho sobre datagramas aun pero e usado TCP y para eso debes poner el socket a la escucha  :huh: creo acuerdate que tb los datagramas no todos llegan se pierden en el camino tb, bueno disculpa por no ayudarte pero tu problema me sirvio para saber como enviar un datagrama (ahorame queda solo hacerlo  :( at my house)

pues muchas gracias por prestarme atención :), y si con TCP ya es mas facil, pero esta practica debe hacerse con datagramas UDP :-\ :-(


Título: Re: Por favor me pueden ayudar con esta practica UDP en Java
Publicado por: egyware en 23 Noviembre 2007, 13:23 pm
ola taba leyendo tu codigo y como para irte a la segura un poco por que no intentas cuando elijas la destinacion
tomar InetAddress.getLocalHost() porque por lo que tengo entendido que los datagramas no se verifican para donde van sino que solo se envian puede ser que tengas un problema de direccionamiento
y para mas seguro
en la parte servidor
en vez de usar
DatagramSocket socket = new DatagramSocket(9000);
usas
DatagramSocket socket = DatagramSocket(9000, InetAddress.getLocalHost());
asi te aseguras que el socket atrapado al socket (:huh:) del pc
nosep
Estaba leyendo el api de java porsia para que no creas que toy mintiendo jijij
esop xau
suerte