Knowing that Network MIDI is in its first official specification release in MIDI 2.0, it is primarily focused with a peer-to-peer connection between devices, and likely that will tend to be a 1->1 relationship between client and host, although the spec does support multiple client connections to a host, including from a single device. The specification mentions the ability for a client to essentially determine that a host is not available after a "reasonable amount of time" when submitting repeated Invitation packets (Network MIDI 2.0 Section 6.4), but is there an equivalent concept of the host determining that a client is no longer reachable, in case the device has been powered off, or otherwise removed from the network before sending a Bye packet? For a host process that might want to only accept a certain number of client connections, such a timeout strategy would help to free up a connection for a client that is no longer active. I am unable to find any discussion of this within the Network MIDI 2.0 specification.
Actually, I see a reference in Section 6.13 (Ping) that says a host can determine that after a sufficient number of pings are not returned, that the HOST can also send a timeout. So although the overall question is answered, is there an operational notion of how many pings not returned would be a reasonable indication of the client no longer participating in the session?
Glad the spec answers your question. In terms of ping I use 3 failed pings in a row to determine a bad connection 🙂