4 ms·
I had to roll my own chat system recently because the open source solutions out there were surprisingly insufficient - nothing seems to support websockets. Look
by j4pe 8y ago
I had to roll my own chat system recently because the open source solutions out there were surprisingly insufficient - nothing seems to support websockets. Looking forward to the French contributions to the ecosystem!
For instance: at the moment Matrix server implementations expect clients like Riot to long-poll for JSON about each room/chat they're connected to. Alternatives like Prosody's XMPP server implementation dropped websocket support in favor of BOSH years ago.
I wonder why this is - maybe there's just less developer interest since chat has gone mobile, and mobile devices break ws connections so frequently? But it's obvious that chat clients like FB messenger, whatsapp, slack, etc are establishing ws connections.
Strange.
- deleted 8y ago[deleted]
- jkarneges 8y agoNetwork overhead aside, long polling can be a pretty wonderful interface. “Give me what I don’t have yet, else let me know when there is something” makes for reliable transmission that is hard to screw up. Long polling requests can work idempotently and recover from network failures automatically. I think it’s an especially wise starting point.
- Promarged 8y ago> Prosody's XMPP server implementation dropped websocket support in favor of BOSH years ago. You probably refer to the "old websocket" spec, new websockets are working well: https://prosody.im/doc/modules/mod_websocket https://prosody.im/doc/modules/mod_websocket
- giggles_giggles 8y agoRocket Chat supports WebSockets. They don't advertise it very well, but if you look at the nginx config under the manual installation, you'll see that the 'upgrade' header is added when using nginx as a reverse proxy, presumably for ws support. Also, they have an experimental realtime API that uses WS and it looks like it's just the API that is still experimental, while WS are already in use for the regular desktop app and the new (still buggy) mobile app.
- Arathorn 8y agoMatrix also supports WS actually but nobody bothers with it: https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst https://github.com/matrix-org/matrix-doc/blob/master/drafts/...
- Zash 8y ago> Prosody's XMPP server implementation dropped websocket Quite the opposite, but I admit the documentation is in need of improving to make the websocket functionality easier to discover. It is in the default config file however, right next to BOSH.
- Arathorn 8y agoFB messenger actually uses MQTT last time I checked. In practice long poll HTTP is fine for most purposes, and meanwhile we have a GSoC project which should help improve on that this year (starting with push; then the protocol itself): https://summerofcode.withgoogle.com/organizations/?sp-search=matrix#6091058287476736 https://summerofcode.withgoogle.com/organizations/?sp-search...
- lorenzhs 8y agoWeeChat's (the IRC client, not the similarly-named Chinese messenger) relay protocol uses websockets. This is what enabled us to build Glowing Bear, a web frontend that connects to your WeeChat instance from your browser. I like to think of that as pretty cool :) (Disclosure: I'm one of the Glowing Bear developers, so of course I'd think it's cool)
- ktosobcy 8y agoTigase XMPP server supports websocket out of the box as well (bosh as well)