Can an application have multiple connections to a service?

What is the API for an application connecting to a service? I’m asking from a pure ziti perspective, ie via SDK. I don’t care to know a literal method signature (although that may answer my follow up questions.)

My current understanding is that Ziti lets an application connect to a service by name and (presuming policies are all good) the application gets a bi-directional byte stream that it can read and/or write to. If that’s the case, then I started wondering … can an application connect more than once to the same service? Does ziti support mux/demux of logical connections on top of an internal session’s connection? I’m realizing that I don’t quite understand where Ziti sits in the traditional 7 layer network model; the degree to which ziti provides upper level constructs or leaves that to applications to handle.

Yes, the application can connect more than once to the same service. You can demonstrate this with a tunneler application (e.g., Windows Desktop Edge), by connecting to e.g., an ssh service from multiple terminal windows.

it's effectively equivalent to a socket. bytes sent, bytes received

sure - http is an example where > 1 request can be sent but you need to implement your own dispatch/control if you want these to be processed in parallel since (as HTTP does) all the responses are on a HTTP connection unless explicitly using multiple HTTP connections like a browser dows... OR you can open a second 'ziti' connection and use that ...

yes. I basically hinted at this in the previous response about "more than once to the same service"