0

How can a pc identify a device or another pc by upnp (or similar protocol)?

I want a c# program on a windows machine that can discover upnp devices in a network or a direct connection? (This should be the easy part)

But what has to be done on the other machine?

case1: machine supports upnp

case2: machine doesn´t support upnp yet

Can you help me with the two cases here?

Gobliins
  • 3,848
  • 16
  • 67
  • 122
  • What are you trying to achieve? Discovery is only the first step in UPnP protocol. What is "the other machine"? UPnP does not know "machines", but specifically defined device control protocols. What protocols and services do you expect in your "other machine"? – Pavel Zdenek Sep 29 '12 at 16:08
  • 1
    Windows normally supports upnp so you have a windows pc. Now you got a device which you want to connect to the pc via upnp. The device is the other machine. – Gobliins Sep 30 '12 at 11:38
  • I want to know the steps i have to take when the device already supports upnp or if the device doesn´t support upnp. Do i have to implement a upnp client or server or any kind of daemon, or are there premade upnp daemons that i can use. – Gobliins Sep 30 '12 at 12:00
  • 1
    "What are you trying to achieve?" i want to make a device upnp compatible – Gobliins Sep 30 '12 at 12:15

1 Answers1

3

case 1: machine will show up on device discovery initiated from PC. Yes Windows "normally support upnp" but there is no generic discovery application built on it. Windows Media Player is a specialized UPnP discoverer built on Windows UPnP but will find you only MediaRenderers. You didn't answer my question what services do you want to find on the "other machine". You can use DeviceSpy from the Intel UPnP Development Tools. Works on Windows but does not use Windows UPnP stack - it has its own. There seem to be some helpful frameworks built on top of the Windows UPnP, which is quite bare-bones.

case 2: there is tons of UPnP libraries building just on low level OS capabilities like sockets and filesystem. Even the already mentioned Intel UPnP Development Tools can generate a stack for you. But you need to make up your mind at least about the language in which you want to implement it. Then Google "UPnP Java" or "UPnP C++" or whatever.

Pavel Zdenek
  • 7,146
  • 1
  • 23
  • 38
  • Thx. The language would be C. And i simply want to get the other machine´s IP (think i would only need the ssdp). – Gobliins Oct 02 '12 at 06:34