Can Multiple Clients connect to Intiface on iOS?

I’m wondering if it is possible to connect multiple clients to Intiface?

For example, I have OscGoBrr connected and whenI try to connect Chloe-Vibes: GitHub - coldbricks/Chloe-Vibes: Converts sound into calibrated haptic force in real time. Deterministic, dual-client, parity-locked. · GitHub

it fails to connect and I see a message in my desktop intiface log (intiface central 3.1.1 on PC in repeater mode + 3.1.1 on iOS as the engine).

The error message is

Cannot connect: Io(Os { code: 10061, kind: ConnectionRefused, message: "No connection could be made because the target machine actively refused it." })

Is it just a limitation of the iOS server that it can’t work with multiple applications? Is there any way around that? I looked through settings in the iOS app and I didnt find anything about allowing multiple connections.

Is there some exclusive/non exclusive mode that can be used instead?

i’m a software dev and I could probably fork and adjust the apps in question if thats what needs to be done, although I haven’t found anything on the buttplug docs about multiple clients interfering with each other.

Multiple clients are not a feature of Intiface or buttplug in general, not just iOS. There’s not a easy way to share access to multiple devices without building in a full mixing panel for saying who influences what, what happens if both apps send a command to the same actuator at once, etc.. It’s possible to do via a shim outside of central (just create a MITM that sits between Intiface and all of the apps you want to connect to, and funnel those into mixed one stream), but it’s complicated enough UX and we get so few requests for it that I haven’t really considered bringing it in as a feature.

1 Like

I see. That’s understandable but a little unfortunate. Since I basically want to control different devices via different sources and I can’t really run multiple instances of intiface on my phone to split the app+device pairs that way (and my pc is just too far from the vr space so i had to use a repeater for it all to work).

I’ll see if i can figure out some kind of mixer solution or maybe just reimplement the features i care about in my own application.

Good to know that it wasn’t just me missing something though, thanks for the reply.

Hah, this actually goes way back to 2013, when I wrote the first implementation of what eventually became buttplug. I used to have “claim”/“release” messages that applications could use to say “I’m the one that owns this toy, no one else can use it”. We dropped that in favor of single app simplicity since there didn’t seem like there’d be a lot of interest. That said, building a all-or-nothing router like that into central would be a maybe versus an outright no. I’ve been thinking about adding a section for utilities/tools like that anyways. Mostly a problem of free time (or lack thereof)