Interfase

Estoy programando en Linux un nodo Gnutella y deseo hacer una interfase para él. QUiero tener dos programas diferentes (el nodo y la interfase)comunicándose entre sí mediante sockets, corriendo en la misma terminal al mismo tiempo. ¿Cómo hago para compilarlos juntos o para hacer que el nodo se ejecute en segundo plano y la interfase en primer plano?
1

1 respuesta

Respuesta
1
Primero que nada, la compilación es "lo de menos", es decir, tu puedes compilar primero un programa y después el otro ... Si quieres compilarlo todo de una vez, crea un MakeFile con las opciones necesarias, es decir si incuyes librerías u otras opciones del compilador. En Linux hay un montón de Archivos Makefile de programa instalados que traen Makefiel (cuando instalas supongo que has hecho alguna vez "gmake" o "make" que toma como entrada el archivo Makefile donde están las instrucciones de compilación.
Segundo, el prorgama Nodo es un siple programa, si lo estas haciendo en C por ejemplo deberías poseer algo así como un main que atiende peticiones o casas similares de conexión y por lo tanto en ninguna parte aparece una interfaz gráfica (o de texto) a menos que tu la programaes. Esto por un lado, es decir, puedes tener el ejecutable y correrlo primero; resulta por lo tanto un proceso que es tu programa nodo que corre en Linux. Por otro lado tu interfaz gráfica es otro programa, otro proceso. Si tu quiere comunicarlos con Sockets, lo único que debe hacer es que uno sea el servidor y el otro el cliente (communicacion TCP/IP dentro de la máquina, para communicar los dos programa o proceso mediante sockets). Así pues tu Nodo debería ser lo más probable tu software servidor y tu interfaz gráfica tu cliente de este servidor y por ende se van a poder communicar, mandar información de texto u otras opciones (archivos, etc...) mediante el socket establecido entre ellos.
No se a que nivel manejas sockets.. si no conoces mucho te sugiero buscar en la red manuales o tutoriales de sockets en C, y básicamente debes convertir el Nodo en un servidor (digamos, atendiendo en el puerto 1234 y la interfaz en un cliente que se conectara a dicho servidor conectándose a la IP local (127.0.0.1 o al "localhost") y al puerto 1234 que es el del servidor que esta a la espera de conexiones de tu interfaz gráfica.
POr ahí puedes partir, más información detallada te sugiero buscar en la red o si quieres puede escribirme personalmente a :
[email protected]
Mail que leo más seguido que este.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas