The current HTTP clients use static configuration first and can fall back to
active subnet scanning when server_host is unset. SCIOT-032 will add
mDNS/Zeroconf discovery before subnet scanning.
Clients should resolve the server in this deterministic order:
- Explicit static
server_hostandserver_port. - mDNS/Zeroconf lookup for
_sciot._tcp.local.. - Optional current subnet scan fallback.
- Local-only mode when no server is found.
Static configuration must always win. This keeps production deployments stable and makes discovery opt-in for local labs and demos.
discovery:
enabled: true
method: mdns
service_name: _sciot._tcp.local.
timeout_seconds: 3.0
allow_subnet_scan_fallback: trueServer advertisement should be optional and disabled safely when Zeroconf is not installed or the network blocks multicast.
If multiple SCIoT servers are discovered, the client should choose deterministically. A safe first rule is:
- prefer matching model/profile metadata when advertised;
- prefer the lowest advertised priority value;
- sort by host and port as a final deterministic tie-break.
mDNS/Zeroconf requires local multicast support. Some enterprise Wi-Fi networks,
VPNs, guest VLANs, and container networks block it. In those environments,
operators should use static server_host or explicitly enable the subnet-scan
fallback.