4 ms·
Ask HN: Help me learn websockets.
I want to learn more about websockets and similar push technologies like polling, long polling etc.
Can you recommend any good resource/book for learning websockets using PHP/Python/JavaScript?
Also, what can be applications other than chat where one can use websockets?
- pjscott 15y agoAny time you want to be able to send messages between the browser and a server, websockets are an easy and efficient way to do it. Of course, not all browsers support them, so it's good if you can fall back to long polling. If you just want to get started hacking, socket.io is a surprisingly slick abstraction layer: http://socket.io/ http://socket.io/
- anujkk 15y agoSocket.io is nice but it requires nodejs at server side that I'm unable to use right now for some reasons. Is there any python/php alternative available?
- pjscott 15y agoThe best Python alternative looks like TornadIO: https://github.com/MrJoes/tornadio https://github.com/MrJoes/tornadio Does the same stuff as Socket.IO, but in Python. Probably not as widely used as Socket.IO, but it looks really nice.
- lastkarrde 15y agoTornado has Websocket handling built in. It's very easy to use. Example code: https://github.com/facebook/tornado/tree/master/demos/websocket https://github.com/facebook/tornado/tree/master/demos/websoc...
- vonstark 15y agoweb socket isn't that hard. I use it in my project. be sure what client(browsers) you are going to support, it won't work for Ie7&6 (or older chrome & ff) 1) socket.io 2) faye.jcoglan.com 3) eventmachine 4) xmpp to use 1&2 is faster & easier, however, for example faye doesn't support event handler currently(but soon in v0.7 ) And faye also kind of hard to extend. In my opinion, use redis(support pub/sub) & eventmachine (or something like it). to build ur backend. use websocket-js for client. :)
- gadders 15y ago> Also, what can be applications other than chat where one can use websockets? At a bank I used to work for they used this technique for a HTML-only trading application. The prices on the screen ticked up and down in real time without a screen refresh being required.