[Jde-dev] Interfaces ICE básicos. Problema con cliente/servidor

Julio Vega julio.vega en urjc.es
Mie Nov 23 16:51:29 CET 2011


Eso que dices suena a solución :) me voy a poner a añadir eso y ya te cuento.
Gracias Rober!

Roberto Calvo <rocapal en libresoft.es> escribió:


En ese mismo ejemplo, yo tuve un problema similar y puede que te ayude a
ti. Lo resolví usando pipes.

Si miras "startRecording", hace de cliente, llama a un Recorder con un
callback y espera leyendo el pipe. El callback [1], que hace de
servidor, recibe la respuesta y escribe en el pipe.

En este caso es síncrono, pero podrías hacerlo asíncrono. Podrías probar
quitando el thread que tienes, y metiéndolo en la clase servidora para
que haga un read del pipe. En el main, cuando recibes el número haces el
write en el pipe. Creo que eso debería funcionarte.

Un saludete!

[1] class AMI_Recorder_startRecordingI : public jderobot::AMI_Recorder_startRecording

El mié, 23-11-2011 a las 16:06 +0100, Julio Vega escribió:
> Ya he estado ojeando el componente que me dices y sí, actúa como
> cliente y servidor al mismo tiempo.
> Ese problema lo tengo solucionado. El conflicto viene cuando lo que
> quiero es que haga de cliente y además modifique lo que pilla como
> cliente, y que sirva ese nuevo valor como servidor... No sé como pasar
> ese valor, que es un float, dentro del componente hasta llegar a la
> zona "servidora".
> 
> Roberto Calvo <rocapal en libresoft.es> escribió:
> 
> Julito,
> 
> ¿Qué es lo que no te funciona, no te hace de cliente, o de servidor? O
> nada de nada.
> 
> Yo lo que puedo decirte es que el componente RecordingServer [1] hace de
> servidor y de cliente (realiza peticiones al Recorder). Echale un ojo a
> como configuro la Ice::Application (abajo del todo del fichero cpp), que
> pueden ir por ahí los tiros.
> 
> Un saludete!
> 
> [1]
> http://svn.jderobot.org/jderobot/trunk/src/components/recordingserver/
> 
> El mar, 22-11-2011 a las 23:58 +0100, Julio Vega escribió:
> > Hola developers,
> > 
> > he creado unos componentes ICE en [1]. Estos componentes son básicos, 
> > así como el interfaz ICE creado. Tenemos lo siguiente:
> > - dummyServer: ejemplo sencillo de "servidor"
> ICE.
> > - dummyClient: ejemplo sencillo de "cliente" ICE.
> > - dummyInTheMiddle: ejemplo no-tan-sencillo de componente que hace de 
> > "cliente-servidor" ICE.
> > 
> > El problema está en ese tercer componente. No logro hacer que 
> > funcione como cliente y como servidor al mismo tiempo. La idea es que 
> > tal componente sea cliente de "dummyServer" (del cual recibe un número) 
> > y, por ejemplo, modifique ese número para que "dummyClient" lo pille de 
> > aquí modificado.
> > Sí, ya sé que es un ejemplo tontorrón (de ahí el nombre), y quizás 
> > sin sentido. Pero obviamente el objetivo es otro componente mucho más 
> > complejo...
> > 
> > Por favor, si alguien conoce algo más sobre ICE y puede echar un ojo 
> > a ese componente, a ver qué falla, se lo agradecería.
> > 
> > Saludos,
> > 
> > Julio
> > 
> > [
> 1] http://svn.jderobot.org/robotvision/trunk/jmvegaProjects/basicICE
> > 
> 
> -- 
> Roberto Calvo Palomino | Libre Software Engineering Lab (GSyC)
> Tel: (+34) 91 488 87 73 | Universidad Rey Juan Carlos
> rocapal en libresoft.es | Edif. Biblioteca - Despacho B103
> http://libresoft.es/ | Camino del Molino s/n - 28943 (Madrid)
> 
> GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
>_____________________________________________

> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers

-- 
Roberto Calvo Palomino | Libre Software Engineering Lab (GSyC)
Tel: (+34) 91 488 87 73 | Universidad Rey Juan Carlos
rocapal en libresoft.es | Edif. Biblioteca - Despacho B103
http://libresoft.es/ | Camino del Molino s/n - 28943 (Madrid)

GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20111123/d13cca48/attachment-0001.htm 


More information about the Jde-developers mailing list