4 ms·
I was planning to use socket.io with the same stack (Python, Flask) for a game development project last year. Figured that the Python ports of socket.io weren't
by nnain 12y ago
I was planning to use socket.io with the same stack (Python, Flask) for a game development project last year. Figured that the Python ports of socket.io weren't well-maintained so I took the traditional approach with Comet(Long-polling).
On another note, if you're interested in Socket.IO because of WebSockets then do know that Android 4.3 and older don't support WebSockets and so the server might need to support Long-polling anyway. It might actually introduce more lag to first check for websockets, and if unavailable, fall back to long-polling. I will wait till majority of target devices support it by default.
- ergo14 12y agoI was playing with gevent-socketio, and ended up with massive memory leaks - could be it was my mistakes in code though. But later I went with gevent + gevent-websocket (gevent-socketio also uses it), and it's been working like a charm for me.
- pygy_ 12y ago> It might actually introduce more lag to first check for websockets, and if unavailable, fall back to long-polling. Socket.IO works the other way around since v 1.0, thanks to Engine.IO. It starts with long polling and tries to upgrade to WebSocket or Flash sockets if possible.
- nnain 12y agoThat's good to know. And Socket.IO could move back to WebSocket-first approach, once the technology becomes more pervasive. It's still a task to set up Socket.IO with Python though. Don't know how nice it plays with Node.js, but I'm happy moving to Go instead.
- untog 12y agoAndroid 4.3 and older don't support WebSockets In native developmet, I presume? Because the Chrome browser can handle them fine.
- coev 12y agoYes, native. Android's webview was based on the old Android Browser until KitKat/4.4 when it switched to using Chrome to render.