Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2010, 22:42
josephthehot
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
sockets en C y java en GNU/Linux?

Hola mi pregunta es que como enviar un char de lenguaje c por medio de sockets udp y recibirlo y mostrarlo en java.

Ya poseo los codigos fuentes tanto en java como en c y envio un entero muy bien de c a java y no tengo problema el problema es con los char que en c son de tamaño de 1 bit y en java 2 bit o algo asi queria saber si me podian ayudar o alguna idea como hacer gracias..


Este es lo que ase el cliente que esta en c

strcpy (Cadena, "Envio");

/* Se envía el mensaje al servidor java*/
if (Escribe_Socket_Udp (Socket_Con_Servidor, (struct sockaddr *)&Servidor,
Longitud_Servidor, (char *)&Cadena, sizeof(Cadena)) == -1)
{
printf ("Error al enviar datos al servidor\n");
exit (-1);
};

/* Se leen los datos que nos envie el servidor como respuesta.
* El contenido de Servidor es indiferente, nos vendrá relleno con los
* datos del que transmite el mensaje. */
leidos = Lee_Socket_Udp (Socket_Con_Servidor,
(struct sockaddr *)&Servidor, &Longitud_Servidor,
(char *)&Cadena, sizeof(Cadena));

Este es el servidor en java

// La IP es la local, el puerto es en el que el servidor esté
// escuchando.
DatagramSocket socket = new DatagramSocket(
Constantes.PUERTO_DEL_SERVIDOR, InetAddress
.getByName("localhost"));

// Un DatagramPacket para recibir los mensajes.
DatagramPacket dato = new DatagramPacket(new byte[100], 100);

// Bucle infinito.
while (true)
{
// Se recibe un dato y se escribe en pantalla.

socket.receive(dato);


}
con el metodo socket.receive(dato);
recibo el dato de el cliente de c por udp
la pregunta es como mostralo en java ya que me da error ..

bueno de ante manos gracias espero que me puedan ayudar