3 ms·
Thanks for the post, nice to see new apps. In my experience with webRTC, a lot of the time the p2p connection does not get fully achieved, and the connection fa
by laserfly 4y ago
Thanks for the post, nice to see new apps. In my experience with webRTC, a lot of the time the p2p connection does not get fully achieved, and the connection falls back to the server. Are you saying that the chat room will not run unless it is true p2p? If not, it would be good if the app shows the type of connection that is being used (p2p or via server).
- jckahn 4y agoThanks for the feedback! Chitchatter uses https://www.metered.ca/tools/openrelay/ https://www.metered.ca/tools/openrelay/ for relaying communication when P2P connections can't be established. So, chatting should "just work" for users right now. I don't know if the current connection type (P2P or relayed) can be determined by JavaScript. If not, it seems that allowing the user to disable relaying servers might be the safest option (at the expense of the app not actually working).
- ackbar03 4y agoI was curious about this too. In my experience the real obstacle behind true p2p is everyone is behind a router or firewall these days with shared ip. Most also prevent hole punching through port randomization.
- jlokier 4y agoTailscale comes up here a lot recently, and their article on how they do p2p over routers and firewalls (NAT traversal) is superb: https://tailscale.com/blog/how-nat-traversal-works/ https://tailscale.com/blog/how-nat-traversal-works/ Unfortunately it doesn't include statistics on how successful the strategies are in practice.
- laserfly 4y agoThanks for the link
- synctext 4y agoYes, not many people measured NAT boxes at scale. "UDP NAT and Firewall Puncturing in the Wild" [1] this scientific article from our lab might be helpful. We also have UDP puncturing also working in a 3G or wifi setting with Android-to-Android mode, see "Kotlin-IPv8" link in here: https://github.com/Tribler/trustchain-superapp https://github.com/Tribler/trustchain-superapp [1] https://hal.inria.fr/hal-01597969/document https://hal.inria.fr/hal-01597969/document