Hola amigos, me gustaría hacer un chat en ruby on rails para una aplicación, lo primero que he visto por Google son estos enlaces [1] y [2], alguien ha hecho alguno, os agradecería si me recomendarais o algún link informativo. Gracias [1] http://ajaxian.com/archives/realtime-on-rails-real-time-chat-using-xhr-push [2] http://www.urubatan.info/2007/10/a-cool-chat-example-created-with-ruby-on-rails-and-juggernaut/
on 30.04.2008 16:58
on 30.04.2008 17:07
hola, > Hola amigos, me gustaría hacer un chat en ruby on rails para una > aplicación, lo primero que he visto por Google son estos enlaces [1] y > [2], alguien ha hecho alguno, os agradecería si me recomendarais o algún > link informativo. Gracias > hace poco salió este mismo tema en el foro de workingwithrails (http://workingwithrails.com/forums/4-ask-a-rails-expert/topics/119-chatting-program) yo recomendaba usar juggernaut (http://juggernaut.rubyforge.org/), sobre todo porque da bastantes cosas de forma simple. Pero en el thread salía alguna otra opción. saludos, javier ramírez
on 30.04.2008 17:23
yo creo que un refresh periódico es más práctico, un server de push te exige cambiar ligeramente la infraestructura marze El 30/04/2008, a las 17:06, javier ramirez escribió: > hola,
on 30.04.2008 17:36
Si te decides por el refresh periódico aquà [1] hay uno libre que te puede servir de ayuda. Para hacerlo con refresh tienes que tener en cuenta la cantidad de usuarios que usaran el chat, ya que cada usuario conectado va a estar generando consultas cada 5 segundos por ejemplo, aunque no escriban. Campfire usa refresh periódico, asà que tan malo no puede ser. [1] http://rinstant.rubyforge.org/ 2008/4/30 Listas <listas@marze.es>:
on 30.04.2008 18:15
javier ramirez escribió:> (http://workingwithrails.com/forums/4-ask-a-rails-expert/topics/119-chatting-program) > Ror-es@lists.simplelogica.net > http://lists.simplelogica.net/mailman/listinfo/ror-es > > Ok, sabes si juggernaut es de pago por instalar algún requerimento, push server, etc o usar flash en el servidor? Me comentan que el chat estaría entorno a los 30 usuarios, no más.
on 30.04.2008 18:31
hola, >> yo recomendaba usar juggernaut (http://juggernaut.rubyforge.org/), sobre >> > Ok, sabes si juggernaut es de pago por instalar algún requerimento, push > server, etc o usar flash en el servidor? Me comentan que el chat estaría > entorno a los 30 usuarios, no más. > vuelvo a recomendarte la url que te pasé, en la que tienes los requisitos, la licencia, etc... lo siento pero no voy a explicártelo aquí si lo tienes en el README de la página que te he pasado. lo único que creo que no está ahí directamente (pero sí lo encontré una vez en los archivos de la lista de correo de juggernaut) es lo de los usuarios. Si no recuerdo mal, hasta 1000 no tenía problemas.
on 30.04.2008 18:50
javier ramirez escribió:>> > _______________________________________________ > Ror-es mailing list > Ror-es@lists.simplelogica.net > http://lists.simplelogica.net/mailman/listinfo/ror-es > > Hola Javier, de nuevo gracias por la recomendación, no pido que me explique nadie nada, faltaría más. De hecho ya lo había leido antes el enlace que me pasaste y el Readme también, te doy las gracias de nuevo, aún así no conseguí leer nada de licencias tan sólo encontré: =CONTACT DETAILS Author: Alex MacCaw E-Mail Address: info@alexmaccaw.co.uk License: MIT Website: http://juggernaut.rubyforge.org Blog: http://www.eribium.org de ahí mis dudas, por supuesto que vi los requisitos, features, install y demás, de hecho lo he leido un par de veces, pero no pedí que me explique nadie cómo funciona, o estoy yo muy torpe hoy o no veo información acerca de la licencia de si es de pago o no, no creo que sea pecado preguntar acerca de éso, pero bueno, gracias por el reporte e intentaré contactar con Alex, es que no me gustaría encontrarme luego con sorpresas. Perdona mi ignorancia sobre este asunto, gracias.
on 30.04.2008 18:58
Buenas de nuevo, > License: MIT > Website: http://juggernaut.rubyforge.org > > bueno.. como dice en el texto que has pegado, es una licencia MIT. Es la misma que usa Rails. Lo puedes usar de forma gratuita siempre que distribuyas la licencia junto con tu código.
on 06.05.2008 22:40
javier ramirez wrote: > Buenas de nuevo, > > >> License: MIT >> Website: http://juggernaut.rubyforge.org >> >> > > bueno.. como dice en el texto que has pegado, es una licencia MIT. Es la > misma que usa Rails. Lo puedes usar de forma gratuita siempre que > distribuyas la licencia junto con tu c�digo. Hola Javier, esto es lo que encontre en mi lector de feeds: El dorado http://almosteffortless.com/2008/05/05/el-dorado-092-group-chat-edition/ Espero que te sirva Saludos.
on 07.05.2008 09:33
Carlos Ramos escribió: >>> > Saludos. > HOla Carlos, el chat era para mÃ, Javier sólo me aconsejaba jej. Aparte del juggernaut, encontré este otro también: http://shooting-star.rubyforge.org/wiki/wiki.pl?Making_A_Chat_System_Within_5_Minutes De momento estoy probando juggernaut, me funciona, para iniciar el push server debo hacer: juggernaut -c juggernaut.yml pero hay alguna manera de correrlo por background asà por decirlo de alguna manera, que esté corriendo cuando abra el chat.
on 07.05.2008 11:05
hola, > http://shooting-star.rubyforge.org/wiki/wiki.pl?Making_A_Chat_System_Within_5_Minutes > shooting star tiene muy buena pinta, aunque de momento todavÃa lo veo un poco verde.. Estoy siguiendo el desarrollo de varios servidores para comet y shooting star es de los más prometedor que he visto para Rails. Le tengo el ojo puesto para cuando lo tengan funcionando mejor. También hay un servidor de comet (cometd) que no está hecho en ruby pero que tiene bindings para ruby. De todos modos, no funciona muy bien tampoco todavÃa. Para push, a dÃa de hoy, lo mejor que he visto que integre bien con Rails es juggernaut . Si quieres polling tienes más opciones, como la que te recomienda Carlos. Pero esas soluciones por definición o no van a escalar bien o van a tener un funcionamiento lento (si usas caché y haces un polling más bien largo). > De momento estoy probando juggernaut, me funciona, para iniciar el push > server debo hacer: > > juggernaut -c juggernaut.yml > > pero hay alguna manera de correrlo por background asà por decirlo de alguna manera, que esté corriendo cuando abra el chat. > como has dicho, es un push server. SerÃa algo parecido al Apache o al Mongrel de tu aplicación, es decir, que para que tus usuarios puedan conectar tienes que arrancarlo previamente. Saludos, javier ramÃrez
on 07.05.2008 18:52
javier ramirez escribió: > Ror-es mailing list > Ror-es@lists.simplelogica.net > http://lists.simplelogica.net/mailman/listinfo/ror-es > Gracias Javier, miraré la manera de hacerlo correr. Estoy mirando algún pequeño tutorial, en alguno veo métodos que no existen, debe ser que está obsoleto, me he bajado creo que la última versión de juggernaut, estoy intentando enviar los datos de diversas formas para probar: 1) Viendo el log parece que lo hace bien, recibe el data, lo procesa pero no lo envÃa al navegador. @users = OnlineUser.find(:all, :conditions => ["online = true and id != ?", @user.id]) if @users.size >0 data = render_to_string(:update) do |page| @users.each {|u| page.insert_html :bottom, :users_list, %Q{<li id="user_#{u.username}">#{u.username}</li>} } end #send the javascript only to the new user Juggernaut.send_to_client(data,@user.session_id) end Tanto @users como @user existen. 2) De esta otra forma, tampoco me envia el data, lo recibe, lo procesa pero no lo pinta. render :juggernaut => {:channels => [params[:send_to_channel]], :type => :send_to_channels} do |page| page.insert_html :top, 'chat_data', h(params[:chat_input])+"\n" end 3) Y de esta forma simple si que lo recibo todo bien. render :juggernaut do |page| page.insert_html :top, 'chat_data', "<li>#{h params[:chat_input]}</li>" end Pero a mi me interesa más la 1 y 2. Estoy escribiendo algo mal en esos puntos? Gracias
on 08.05.2008 14:25
Miguel Angel Calleja Lázaro escribió: >> > versión de juggernaut, estoy intentando enviar los datos de diversas > page.insert_html :bottom, :users_list, %Q{<li > 2) De esta otra forma, tampoco me envia el data, lo recibe, lo procesa > end > Ya lo he solucionado, añadiendo en la vista los canales: <%= juggernaut(:channels => ['one', 'two', 'three']) %> en vez de: <%=juggernaut%> Ahora si me va. Tengo otra pregunta, tanto en explorer como en safari me salen alerts cada vez que se conecta y cada vez que se envÃa el mensaje, pero funciona, alguien sabe cómo puedo quitarlos? El alert que sale es algo asÃ: try { new Insertion.Bottom("dasd", "user: q mal escribo\u003Cbr/\u003E"); scrollMessages(); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('new Insertion.Bottom(\"dasd\", \"uer: q mal escribo\\u003Cbr/\\u003E\");\nscrollMessages();'); throw e } on 209.20.67.27:5001
on 08.05.2008 15:38
Hola, tienes que comentar una linea en js/juggernaut/juggernaut.js
en la linea 36 +- tienes que comentar esta linea
//this.hasFirebug ? console.log(msg) : alert(msg);
o bien solo darle soporte para firebug, es decir, solo si encuentra
firebug
this.hasFirebug ? console.log(msg) : '';
saludos
2008/5/8 Miguel Angel Calleja Lázaro <mangelcl@yahoo.es>:
on 08.05.2008 18:23
Miguel Michelsongs escribió:> > > saludos > > > Cierto, ya lo he visto, muchas gracias