Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using PubSub for high noise networks #32

Open
mikezucc opened this issue Mar 3, 2018 · 0 comments
Open

Using PubSub for high noise networks #32

mikezucc opened this issue Mar 3, 2018 · 0 comments

Comments

@mikezucc
Copy link

mikezucc commented Mar 3, 2018

https://github.com/mikezucc/metaverse-ipfs

I am trying to create a multiplayer js extension to A-Frame.js. I have achieved working version with a central server running socket.io to distribute client metadata. I am cleaning up the repo for that, it will be up soon (lots of profanity). However, centralized server isn't exciting and it is fragile. I want to use a p2p mesh solution so that only a signaling server need be maintained so I took a look at the IPFS PubSub demo ( and I don't have to pay for a big grumpy server running socket.io ). I am fairly fresh to the available technologies for this.

My requirements:

  • Room/Channel based subscription
  • Broadcast JSON every 100ms
  • Abstracted fallback protocols

Running multiple clients on the same machine I found that only 5% the exchange of data between clients seemed to work and even then it was extremely high CPU load. I am trying to send metadata updates (if necessary) every 100ms. This interval should be fine for clients locally I assume.

I think the problem is running clients on the same machine does not play well with PubSub, libp2p and creating a pipe within same IP?

The project should run out of the box. A-Frame itself is super inefficient in any case, but it is fine to run at roughly 60fps on my macbook air 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant