[Python-es] Como conectar multiples clientes usando el motor sockjs-tornado

Diego Uribe Gamez diego.uribe.gamez en gmail.com
Vie Nov 16 12:32:27 CET 2012


Bueno Juan, te comento que yo si tengo un ejemplo funcional, pero con esto
lo que quiero es estabilidad de alto nivel, y la idea con este correo es
poder colocar un codigo que funcione perfectamente para este propósito y
que le funcione a cualquiera que lo encuentre, este codigo esta enfocado
para que lo pueda adaptar a un MVC o a un MVT como es Django, o a cualquier
codigo que se tenga a la mano, pero igual que tu y como yo no encuentro
contenido en mi idioma, la mayoría de contenido esta en ingles y pues yo
como buen hispano me dirijo a la lista de correo que me corresponde
buscando completar esto con personas que tienen mas experiencia que yo.

En principio es abrir una conexión, luego serán los mensajes para todos y
por ultimo mensajes individuales discriminando usuarios y entre usuarios,
no se trata solo de un chat, tambien se trata de actualizar contenido
dinamico directamente desde la escritura de la base de datos, como escribí
en el primer correo, lo que yo voy a hacer es que si me puedes ayudar a
echar andar este codigo, lo que yo haga mas adelante lo publicare aquí, de
la misma forma que si tu encuentras algo nos ayudaría con tus
publicaciones, la meta es una y el codigo tambien, si tienes alguna
pregunta de este y crees que se puede mejorar de otra forma, pues
hablemoslo y hagamos esto una realidad, pero el enfoque es este y este
codigo tambien, para que todos lo vean y a todos le sirva.

Gracias por tu comentario, espero otros se animen a continuar con nosotros,
podríamos pasar a ser muchos.

El jueves, 15 de noviembre de 2012, Juan M. Puertas escribió:

>  Hola Diego y a todo el mundo.
>  En este momento me hallo en la misma búsqueda que tú. No he conseguido
> que a lo largo y ancho de Google me funcione un sólo programa-ejemplo de
> Websockets, lo que puede ser normal para un python-aficionado como yo ;-)
>  De momento seguiré con la opción más fácil que he encontrado para estas
> cuestiones; Sajax, yo lo estoy utilizando en un simple CGI, y las pruebas
> que he hecho no están nada mal. Lo más pesado es la depuración del código,
> lo que he resuelto duplicándolo. Por una parte tengo el CGI en python, y
> por otra un programa copia del anterior con la salvedad de que en lugar de
> tomar los datos que tengo en el formulario CGI, ya los incorpora tal y como
> llegarían del citado formulario en HTML.
>  Estaré muy atento a tus progresos y a que exista alguien en este foro que
> ya lo haya conseguido.
>  Saludos :-)
>
>
>
> El 15 de noviembre de 2012 23:44, Diego Uribe Gamez <
> diego.uribe.gamez en gmail.com <javascript:_e({}, 'cvml',
> 'diego.uribe.gamez en gmail.com');>> escribió:
>
>> Hola, les comento: mas que un problema es un desarrollo y la idea es
>> lograr comunicar al servidor usando python con el navegador de forma
>> asícrona, lograr mandar un datos del servidor a muchos clientes, como a
>> un único cliente especifico según su necesidad y también de un cliente a
>> otro cliente como un chat uno a uno.
>>
>> Pues en mi camino a realizar este desarrollo
>> me encontré con tecnologías bastante buenas siempre inclinándome a python,
>> pero también esta el tema del navegador donde encontré otras tecnologías
>> en conclusión y después de tanto buscar me encontré con este articulo: A
>> Modern Python Stack for a Real-time Web Application<http://blog.y3xz.com/blog/2012/06/08/a-modern-python-stack-for-a-real-time-web-application/>
>>
>> Aquí el autor comento las diferentes tecnologías que encontró  muy
>> parecido a mi propia búsqueda y mostró donde y como iniciar este trabajo.
>>
>> Pero como mi ingles es un poco corto no logro hacer esto, es por eso que
>> acudo aquí para ver si se animan a documentarlo por este medio y me ayudar
>> a crear una app que para muchos es un tabu, un motor para una pagina que le
>> permita actualizar contenido en vivo y en directo para cualquier persona en
>> cualquier escenario.
>>
>> Instalar lo necesario:
>> pip install tornado
>> pip install sockjs-tornado
>>
>> 1) Conectarme al servidor
>> Aquí intento conectarme al servidor desde el navegador e imprimir en
>> terminal 'nueva conexión' sin resultado.
>>
>> servidor.py
>> -----------------------------------------------------
>>
>> # -*- coding: utf-8 -*-
>> from sockjs.tornado import SockJSRouter, SockJSConnection
>>
>> from tornado import web, ioloop
>>
>> class ConnectionHandler(SockJSConnection):
>>
>>     def on_open(self, info):
>>         print 'new connection'
>>
>> if __name__ == "__main__":
>>     onopen = SockJSRouter(ConnectionHandler, r"/websocket")
>>
>>     application = web.Application(onopen.urls)
>>
>>     application.listen(8888)
>>     ioloop.IOLoop.instance().start()
>>
>> inicio.html
>> -----------------------------------------------------
>>
>> <!DOCTYPE html>
>> <html>
>>     <head>
>>         <title></title>
>>     </head>
>>     <script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
>>         <script>
>>             conn = new SockJS('http://' + window.location.host +
>> '/websocket');
>>         </script>
>>     <body>
>>     </body>
>> </html>
>>
>> La idea aquí es simplemente que cuando abra la nueva conexión desde
>> el navegador este me imprima en termina que se logro, sin resultado, saben
>> que me falta?
>>
>> Gracias.
>>
>> --
>>  *Diego Alonso Uribe Gamez*
>> ------------------------------
>>
>> *Desarrollador web*
>>
>> Twitter: @DiegoUG <http://www.twitter.com/DiegoUG>
>>
>> Google+: http://gplus.to/diegoug
>> ------------------------------
>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org <javascript:_e({}, 'cvml', 'Python-es en python.org');>
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
> *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este
> mensaje en un tiempo.*
>


-- 
iPad
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20121116/e2bcece5/attachment.html>


Más información sobre la lista de distribución Python-es