From 77318de11fd8bc910734ccb79ba4a6a45b4d535f Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Fri, 6 Jul 2018 19:20:33 +0300 Subject: Send out a discovery search request --- src/upnp.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/upnp.rs (limited to 'src/upnp.rs') diff --git a/src/upnp.rs b/src/upnp.rs new file mode 100644 index 0000000..de67c9c --- /dev/null +++ b/src/upnp.rs @@ -0,0 +1,15 @@ +use std::net::UdpSocket; + +const SEARCH_REQUEST: &'static str = "M-SEARCH * HTTP/1.1\r\n +Host: 239.255.255.250:1900\r\n +Man: \"ssdp:discover\"\r\n +ST: ssdp:all\r\n +MX: 3\r\n +User-Agent: rustcast/0.1.0\r\n\r\n"; + +pub fn discover() { + println!("Discovering..."); + let socket = UdpSocket::bind("[::]:0").unwrap(); + socket.connect("239.255.255.250:1900").unwrap(); + socket.send_to(SEARCH_REQUEST.as_bytes(), "239.255.255.250:1900").expect("couldn't send data"); +} -- cgit v1.3.1