CBL 2.1 P2P question


#1

From the documentation https://docs.couchbase.com/couchbase-lite/2.1/java.html#peer-to-peer-sync
Couchbase recommended to use Google’s Nearby Messages API, but this will required active internet connection.
Isn’t that defeat the purpose of P2P ? Is there other Communication Framework you guys can recommend that don’t required active internet connection?


#2

You can use any framework you want to create connections (third party or otherwise). That one is just the easiest one, and one that we used for some testing. The point of the architecture is to make it transport agnostic so that you can bring your own.


#3

do you have any 3rd party framework recommendation ? the one that doesn’t required active internet connection


#4

You may want to check out Nearby Connections .

We do not make any specific recommendations as far as p2p frameworks go since we agnostic of that. It is up to the app to use what is best suited for their needs.


#5

Or look at using Bluetooth directly…


#6

Nearby Connections, if you’re only concerned about Android.

Unfortunately, as far as I’ve looked, the only cross-platform framework that looks viable is Thali (Cordova plugin), although it hasn’t been update in a year.

I just found https://hypelabs.io/, but haven’t looked at it deeply. Looks interesting.
Similarly there’s Bridgefy.

I remember Alljoyn from years ago. It appears that merged with Iotivity as part of the Open Connectivity Foundation. They refer to what’s on the site as reference implementations, though.

Iotivity seems to also continue to exist as it’s own project. It claims to support Android, Tizen, and Windows, but, unfortunately, not iOS.

Opengarden used to offer something called meshkit. Not sure what happened to that.

If you find something else, it would be great to hear about it.


#7

We decided to use NSD and socket… I see the events triggered on data changes between clients, and it does replicatorconnection.receive() with no error, but its not updating local data at all. And there’s no error messages at all, any idea what am I missing?


#8

Not without more info. Sounds like something to raise a support ticket for.