Re: [gnome-hispano] =?iso-8859-1?q?Una_peque=F1a_ayuda?=



El jue, 18-09-2008 a las 08:57 +0200, Francisco Javier Cuadrado
escribiÃ:
Hola.

Necesito un poco de ayuda de alguno de los genios que hay por esta
lista, ya que mi nivel de GTK està cerca de lo bÃsico y querÃa saber
si se puede hacer algo (que por lo menos a mà me lo parece)
complicado.

Quiero realizar una aplicaciÃn "tonta" que se conecta a otra
aplicaciÃn usando sockets, la aplicaciÃn "tonta" lo Ãnico que hace es
enviar Ãrdenes/comandos (como los querÃis llamar) para que los ejecute
la aplicaciÃn remota y Ãsta le devuelve el resultado a la "tonta" de
modo que està lo muestre en su ventana.

BÃsicamente, la aplicaciÃn es una ventana con un cuadro de texto y una
entrada de texto, hasta aquà llego. Lo que no sà es si GTK es
thread-safe, de modo que pueda usar un hilo (suelo usar pthreads
porque es lo que mÃs conozco) para procesar los mensajes recibidos de
la aplicaciÃn remota y mostrar el resultado en el cuadro de texto.

La regla bÃsica a grandes rasgos es: accede al gui Ãnica y
exclusivamente desde el hilo principal en el que està ejecutando el
bucle principal. Desde el otro hilo, el que està escuchando peticiones
en la red, puedes pasarle los datos al hilo principal de varias maneras,
por ejemplo, mediante funciones idle o timeout de glib. Hay formas de
modificar el gui desde otros hilos, pero no te lo aconsejo. 

Creo que la duda es un poco tonta, porque es obvio que las
aplicaciones GTK deben permitir tener hilos ya que muchas hacen algo
parecido a lo que quiero (cualquier cliente IM, por ejemplo), pero no
sà si lo conveniente es usar pthreads o hay alguna otra mejor
soluciÃn, por eso recurro a vosotros.

Gracias.

-- 
Carlos Garcia Campos
   elkalmail yahoo es
   carlosgc gnome org
   http://carlosgc.linups.org
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]