C#发现请求(SSDP M-SEARCH)

时间:2014-08-18 13:38:40

标签: c# winforms camera sony udpclient

美好的一天,

我最近购买了一台新的Sony相机,可以通过无线连接实现远程功能。到目前为止一切都很好,它与我的Android手机上的索尼官方应用程序一起使用。我现在想要创建一个C#Winforms应用程序,它也可以连接到设备并操纵一些功能。

设备首先需要使用SSDP M-SEARCH的发现请求。有人可能会指向我使用SSDP M-Search设备发现的C#Winforms示例。到目前为止,我使用UdpClient和提供的IP和端口连接索尼的手册。代码到目前为止:

static string SSDP_ADDR = "239.255.255.250";
static string SSDP_ST = "urn:schemas-sony-com:service:ScalarWebAPI:1";

UdpClient ucs = new UdpClient(1900);
string data = "M-SEARCH * HTTP/1.1\r\n" +
              "HOST: 239.255.255.250:1900\r\n" +
              "ST:" + SSDP_ST + "\r\n" +
              "MAN:\"ssdp:discover\"\r\n" +
              "MX:3\r\n\r\n";

Byte[] sendBytes = Encoding.ASCII.GetBytes(data);
ucs.Connect("239.255.255.250", 1900);
ucs.Send(sendBytes, sendBytes.Length);
ucs.Close();

IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 1900);
UdpClient ucr = new UdpClient(1900);

Byte[] receiveBytes = ucr.Receive(ref RemoteIpEndPoint);
listBoxInfo.Items.Add(Encoding.ASCII.GetString(receiveBytes));

谢谢。

0 个答案:

没有答案