1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace MediaBrowser.Dlna.Ssdp
- {
- public class SsdpMessageBuilder
- {
- public string BuildMessage(string header, Dictionary<string, string> values)
- {
- var builder = new StringBuilder();
- const string argFormat = "{0}: {1}\r\n";
- builder.AppendFormat("{0}\r\n", header);
- foreach (var pair in values)
- {
- builder.AppendFormat(argFormat, pair.Key, pair.Value);
- }
-
- builder.Append("\r\n");
- return builder.ToString();
- }
- public string BuildDiscoveryMessage(string deviceSearchType, string mx)
- {
- const string header = "M-SEARCH * HTTP/1.1";
- var values = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- values["HOST"] = "239.255.255.250:1900";
- values["USER-AGENT"] = "UPnP/1.0 DLNADOC/1.50 Platinum/1.0.4.2";
- values["ST"] = deviceSearchType;
- values["MAN"] = "\"ssdp:discover\"";
- values["MX"] = mx;
- return BuildMessage(header, values);
- }
- public string BuildRendererDiscoveryMessage()
- {
- return BuildDiscoveryMessage("urn:schemas-upnp-org:device:MediaRenderer:1", "3");
- }
- }
- }
|