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
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
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,
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.
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.
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.
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, 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
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.
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.
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.
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{
#{u.username}
}
}
end
#send the javascript only to the new user
Juggernaut.send_to_client(data,@user.session_id)
end
Tanto @users como @user existen.
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
Y de esta forma simple si que lo recibo todo bien.
render :juggernaut do |page|
page.insert_html :top, ‘chat_data’, “
#{h
params[:chat_input]}
”
end
Pero a mi me interesa más la 1 y 2. Estoy escribiendo algo mal en esos
puntos? Gracias
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:
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
MMm me pasa una cosa rara, funciona si todo lo demás está comentado,
TODO, si tengo por ejemplo en la
configuración:
:logout_url: http://my_app.com/sessions/logout
:port: 5001
es cuando peta, no me deja tener descomentadas otras líneas, es algo
normal ésto?
Hola de nuevo, me ha surgido un problemilla con el logout, no me carga
juggernaut.yml al iniciar el push server.
En juggernaut.yml he puesto:
== Subscription Logout ==
# If specified, logout_connection_url is called everytime a
specific connection from a subscribed client disconnects.
# Parameters passed are session_id, client_id and an array of
channels specific to that connection.
:logout_connection_url: http://my_app.com/session/logout
# Logout url is called when all connections from a subscribed
client are closed.
# Parameters passed are session_id and client_id.
#
:logout_url: http://my_app.com/sessions/logout
Reinicio el servidor para el cambio que he hecho, y a
continuación arranco el push server:
juggernaut -c juggernaut.yml
Me sale este error:
/usr/lib/ruby/1.8/yaml.rb:133:in load': syntax error on line 66, col 6: :logout_connection_url: http://my-app.com/session/logout’
(ArgumentError)
from /usr/lib/ruby/1.8/yaml.rb:133:in load' from /usr/lib/ruby/gems/1.8/gems/juggernaut-0.5.4/bin/../lib/juggernaut/runner.rb:38:in initialize’
from
/usr/lib/ruby/gems/1.8/gems/juggernaut-0.5.4/bin/…/lib/juggernaut/runner.rb:11:in new' from /usr/lib/ruby/gems/1.8/gems/juggernaut-0.5.4/bin/../lib/juggernaut/runner.rb:11:in run’
from
/usr/lib/ruby/gems/1.8/gems/juggernaut-0.5.4/bin/juggernaut:4
from /usr/bin/juggernaut:19:in `load’
from /usr/bin/juggernaut:19
Estoy mirando documentación pero no encuentro el porqué del error,
alguna sugerencia? Gracias
Es lo que tienen los ficheros de configuración YAML[1].
“In YAML block styles, structure is determined by indentation. In
general, indentation is defined as a zero or more space characters at
the start of a line.
To maintain portability, tab characters must not be used in
indentation, since different systems treat tabs differently. Note that
most modern editors may be configured so that pressing the tab key
results in the insertion of an appropriate number of spaces.”