push-style notifications similar to Facebook with Rails and jQuery

后端 未结 3 502
南旧
南旧 2020-12-29 16:38

I want to create a push notification system like Facebook. Whenever Facebook wants to tell you something (like that someone commented on a post, tagged you, etc), you\'ll se

相关标签:
3条回答
  • 2020-12-29 17:00

    Juggernaut looks really cool, i saw it demoed a long time ago, now it is rewritten on top of node.js. Nice. You have to install redis and node.js and run a node.js server and the rest is dead-easy.

    Pusherapp.com also looks cool, it is paying, but at least you don't have to install and run extra services (and daemonise, scale them, ...).

    But, if the load is not too big, i would prefer to keep things simple, and just poll using javascript. You could easily write your own (it is not too hard), but some very good plugins already exist for jquery. For instance PeriodicalUpdater.

    0 讨论(0)
  • 2020-12-29 17:07

    Currently, such problems can be solved by using Comet.

    For more, http://en.wikipedia.org/wiki/Comet_(programming)

    Basically browsers use HTTP which is a stateless protocol and because it only works in a request then response kinda way, we can never really get a real push notification. When wanting to push to the browser we have to somehow mimick that TCP/Socket like connection to push to it. Comet is just a term that is used to define such techniques.

    There are many libraries which help in this.eg:- Orbited, Juggernaut on rails.

    With new browsers there is something called Websockets Protocol, the libraries I mentioned take advantage of this as well. Its a vast topic, but I am pretty sure, you ll find some basic examples with Juggernaut and Rails.

    There is also http://pusherapp.com, that does the same thing but charges money for it.

    0 讨论(0)
  • 2020-12-29 17:10

    Another way a lot of sites achieve features like this is bosh, or bidirectional streams over synchronous http:

    http://en.wikipedia.org/wiki/BOSH

    Here is one of a few javascript libraries out there:

    http://code.stanziq.com/strophe/

    This type of setup requires an xmpp/bosh server on the backend, but basically the browser holds a connection open (extremely similar to comet) and as messages come in the browser processes them.

    This technique can be used for notifications, chatting, and just about anything that you want to happen in realtime.

    0 讨论(0)
提交回复
热议问题