So I made some changes, without any good results. I set the TTL in the MulticastSocket to 6. I also changed the datagram packet to:
M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Content-Length: 0
Man: "ssdp:discover"
MX: 6
ST: roku:ecp
A carriage return, line-feed follow each line with an additional set at the end of the string.
I even set the roku to use the wired ethernet connection and connected it to the same switch as the control system sending out the datagram and the laptop running Wireshark.
I still don't see any response from the roku unit. I don't doubt this works, so I must be doing something wrong. I just don't know what.
My thanks go out to those that have responded so far.