Re: Problema con Bucle leyendo de un Socket

Mario Carrion <[email protected]>
Newsgroups gmane.comp.gnome.mono.hispano
Message-ID <1244050377.4288.4.camel@karmeta>
On Wed, 2009-06-03 at 13:32 -0400, Mario Carrion wrote:
> On Wed, 2009-06-03 at 14:05 -0300, Gastón Borysiuk wrote:
> > Hola gente.
> Hola
> 
> > Muchachos a ver si me pueden dar una mano. Navegando por la web encontre
> > un fragmento de código ejemplo para construir un cliente de IRC, medio
> > pobre pero ejemplo al fin. 
> > 
> > Basicamente el ejemplo hace una conexión al servidor IRC y envia los
> > datos de la conexión y todo lo que el server devuelve lo muestra en la
> > consola.
> > 
> > Bueno en base a esto arme una interfaz con Glade (Estoy trabajando con
> > Mono en Linux, ArchLinux) Bien, arme la interfaz perfectamente, luego
> > escribi todo el código en Emacs y luego lo compile a mano desde la
> > consola.
> > 
> > El problema es el siguiente. En la interfaz de glade tengo un par de
> > controles, botones para iniciar la conexión y el funcionamiento del
> > script, ademas tengo un TextView que deberia almacenar el buffer de los
> > datos entrantes. Hasta ahí todo perfecto, la teoria es hermosa...
> > PERO... cuando corro el programa y le doy conectar, inicia me muestra
> > los datos iniciales de la conexión pero mientras que no ingresan datos
> > el programa queda como tildado en el bucle de lectura de buffer. Ahora
> > lo mas lindo es que cuando envio algo al canal de irc y entran datos por
> > el buffer la aplicacion se descongela muestra los datos y otra vez se
> > congela.
> > 
> > Bueno, mi primer pensamiento es que en el bucle deberia poner que
> > mientras se ejecuta el bucle y no entran datos haga las iteraciones del
> > programa, como para que la aplicacion no se congele y que el bucle siga
> > su funcionamiento normal. Evidentemente pensé mal.
> > 
> > 
> > Alguien tiene alguna idea como para tirar y que yo pueda investigar?, no
> > quiero una solución sino una orientación.
> Para tener tu aplicación con una ventana responsiva necesitas utilizar
> un thread para el socket, ese sera el que actualize los datos de la
> ventana, con eso el thread de la ventana estará "vivo" y podrás hacer
> manipulación de él. ¿Más información?
Falto el enlace: http://www.mono-project.com/Responsive_Applications

- Mario
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.