Can I use SSDP discovery in a device handler or is it just for smart apps?

I am trying to avoid using the IP and port for a lan music player.
I have a working device handler that controls the player over TCP, but want to improve on it and have it discover using SSDP.
But is this allowed for device handler?

The typical work flow for a Service Manager SmartApp is to have the app perform the SSDP discovery. It then should create and configure a child device, which then is exposed to other Apps, like any other device, using standard ST Capabilities.

Generally, you use a service manager to identify and connect to devices. It is not as difficult as you may think and can provide useful tools for device-device communications. I have written several in the following flavors:
a. ST Cloud directly to device (Samsung WiFi Speakers).
b. ST Cloud to Node.Js based hub (TP-Link Plugs and Bulbs) (currently not used, but I have code).
c. ST Cloud to Vendor Cloud (TP-Link Plugs and Bulbs).
These are all available on-line.

You post brings up some questions.

  1. What is the music player?

  2. Are you controlling directly from ST to the device or do you have a hub?

  3. If a hub, are you using node.js? (If so, I have some tools that may help).

  4. If you are not using a hub, is there a way I could see your working code for control over TCP? (TCP control via SmartThings has been an issue in the past and I would love to have this!)