Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Comunicacion entre cliente java y servidor C (Sockets) (http://www.forosdelweb.com/f45/comunicacion-entre-cliente-java-servidor-c-sockets-485098/)

jotamachuca 26/04/2007 09:48

Comunicacion entre cliente java y servidor C (Sockets)
 
Hola a todos

Tengo un problema mas o menos.

Tengo un servidor en linux, el cual trabaja con sockets. Este servidor esta hecho en C, y las aplicaciones clientes hasta el momento tambien son en C, por ende la comunicación entre ambas es casi nativa.

El problema, es que ahora quiero construir un cliente Java que se comunique con este servidor. Hasta ahí todo ok, salvo que no se como enviarle la información al servidor.

¿Por qué ?

El problema es que el servidor tiene una serie de estructuras para el envio de la información.

Me explicó.

Cuando esta en el cliente (en C), el programa construye una struct con todos los datos a enviar al servidor. Luego esta estrucutura es enviada, y como es la misma en el servidor, el servidor la "castea" y lee su contenido.

La struct que se envia es la siguiente, junto con un esbozo del códgio de envio.
Código:

Código PHP:


struct str_remote_block
{
   
short type;
   
short len;
};
 
struct str_response
{
   
RBLCK block;
   
char  data[REMOTE_BUFSIZE+RRWLEN];
};

..
..
str_response r;
r.block.type 1;
r.block.len 50;
memcpy r.data  datos sizeof (r.data ) ); 

Ahora no se como hacer esto en Java. Quizas tenga que en vez de hacer las structs, hacer las mismas clases, y enviar estas ??? La verdad es que no se me ocurre como hacer esto :S

Espero que me puedan dar una luz de como solucionar esto.

Gracias por sus comentarios.

Saludos

chuidiang 26/04/2007 11:39

Re: Comunicacion entre cliente java y servidor C (Sockets)
 
Hola:

Aquí tienes como comunicar java con C con sockets.

Si el servidor de C corre en un PC, tendrás problemas con el ordenamiento de bytes en los enteros. En el enlace anterior también se comenta algo sobre el tema.

Se bueno.

jotamachuca 23/08/2007 10:08

Re: Comunicacion entre cliente java y servidor C (Sockets)
 
Holas..

Por lo que he visto.. al final este servidor trabaja como un servicio identico al apache, entonces, este recibe una petición a un puerto específico y despues crea un hijo por el cual se conectan a traves de un puerto distinto al genérico..

Me imagino que debe similar a la conexión desde Java a apache o un servidor webn....

Hasta ahora no encuentro nada dnde se mencione como conectarse a un servidor, asi como apache.. alguien sabe de eso..

Saludos

phpnet 23/08/2007 14:33

Re: Comunicacion entre cliente java y servidor C (Sockets)
 
El servidor acepta peticiones http? por que si es así podrias hacer un servlet de nombre porejemplo miServlet y lo llamas así.


Http://localhost:8080/miServlet

y ahi programas que se comunique conla logica (dominio) de la aplicacion.


¿Sabes como hacer un servlet?

Saludos


La zona horaria es GMT -6. Ahora son las 07:28.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.