An official way to stream data from one client to any number of other clients?

By default, Meteor has a nice mechanism that syncs Mongo data across clients with collections/pubs/subs.

But some apps may want to send or “stream” data from one client to one or more other clients, without the overhead of dealing with collections (even if in-memory minimongo), publications, or subscriptions.

An official solution to this would be nice.
What do you recommend MDG?
Can a lightweight communication mechanism be officially added?

Considering how Meteor is praised as a tool for making “real time” applications, it seems like a given that Meteor should have something like this.

Some community solutions exist:

That last two examples currently seem like the most official ways, but they seem a little more heavy/complicated than necessary for simple use cases (for example streaming accelerometer data from one client to another). My client receiving data doesn’t need a client collection (it doesn’t need selecting, sorting, etc), it just needs to react to a piece of data when it is received from another client, without any overhead.

Related topics:

So I know there’s ways to do this, but some of these ways are either not obvious (reaching into Meteor’s internals like Streamy) or seemingly too heavy (using minimongo collections and publishing transient data).

It’d be super awesome to have an official way to do this and have it documented on docs.meteor.com.

1 Like

Example use case: one device loads a graphical rendering. Another device streams accelerometer data to control the graphical rendering of the other device, and the data stream needs to be a fast and lightweight as possible.

@trusktr curious, what did you end up going with? Any tips?

This one seems the most promising from what I’ve found so far: Collections with no connection

@jam I think I ended up using meteor-broadcast. It worked well enough. The main problem I had was a huge audience in the auditorium where I was running the project clogged the WiFi connection (even though they weren’t logged into it). But before the show, before all the cellphones were in the room, it was all smooth on the local network. I didn’t use it over internet, which may also not have been as fast.

1 Like