The WAR on WebSockets


72 hours, 3 WebSocket server implimentations, LOTS of coffee, a conversation with a HiFi core-dev, and all I can really say about NAT-served WebSockets is:

Anyone willing to replace the central hub “hifi://QueenCity” StackManager with an static-ip running a WebSocket server can use this diagram to allow a phone to “speak” to Interface.
What you’ll need:

  • cloud server with root access to setup a Kaazing Gateway with broker access (tetris method):
  • a smart phone with websocket-able browser
  • a computer running Interface

Maybe I’ll spend the $6 just to prove my efforts. o.O


Hows it going? Can I try something yet? :smile:


I’ll be sinking some cash into a Digital Ocean droplet.
I’ll let you know. See you at the meetup.



I came across the other day and it seems relevant here. Especially this demo: (which lets you scan a QR code to remote control a video on the page with your phone).

Also they host a demo instance that can be accessed via their public domain/IP using WebSockets that you could use for initial testing:


@AlphaVersionD – OK, after not finding anything in the wild yet that works very well (beyond web browser scenarios), I’m thinking about building a more generalized solution.

As a cross-check, could you elaborate a little on your imagined use cases?

Like how many Entities, Avatars or other systems do you see participating simultaneously in message passing?

And what might your typical payload sizes and frequencies look like?

What I’m thinking to create is a virtual WebSocket/WebSocketServer implementation – something that “duck types” like typical WebSockets (at the API level), but behind-the-scenes would use whatever jury-rigging is necessary in the short term to make things “just work.”

Initially this means relaying through a publicly-reachable switchboard server – but if/when better solutions can be found, the implementation can be swapped-out (and by design without necessarily rewriting any user scripts as a side-effect).

Also in this model WebSocketServer vs. WebSocket becomes arbitrary since both are virtualized and become possible everywhere.