Thanks, I think I need to read a bit further in order to understand how it works really. Didn't know SSDP ist used when tweaking things with IGD.
Norbert > Am 25.07.2016 um 17:01 schrieb Henrik Johansen <henrik.s.johan...@veloxit.no>: > > SSDP covers discovery of the services and how they are set up; SOAP and XML > are then used to access the service. > IANAE, but; I think as long as you restrict yourself to implement use of the > particular service (IGD) you are interested in, it shouldn't be all that bad; > the use of SSDP discovery data should be fairly straigh forward the way its > modelled; you provide the client with callbacks that run when a service of > the type you've specified you're interested in becomes available/unavailable. > > The main problem with UPnP (well, other than accessing services involving > SOAP and XML instead of REST) is its size; a callback handling "IGD service > discovered" should be much simpler than if one wanted to handle "UPnP device > discovered" (or, if that's the pattern, restricting UPnP device discovery > handling to check if IGD is available). > > (You might want a separate Service subclass to ease access / document what > the different fields are though, IIRC, the current Service follows the > MorphicExtension pattern of putting anything that does not have a > well-defined meaning in SSDP in a dictionary) > > Cheers, > Henry > >> On 25 Jul 2016, at 3:29 , Norbert Hartl <norb...@hartl.name> wrote: >> >> Thanks, >> >> am I wrong in assuming the UPnP and IGD are rather huge and complicated >> things to implement? I just want to figure out if there is a clear answer to >> the question if implementing a subset or using a library (mini upnp) through >> FFI is more feasible. >> >> Norbert >>> Am 25.07.2016 um 16:10 schrieb Henrik Johansen >>> <henrik.s.johan...@veloxit.no>: >>> >>> >>>> On 25 Jul 2016, at 12:13 , Norbert Hartl <norb...@hartl.name> wrote: >>>> >>>> Does anyone know some code or person that did something with UPnP/IGD in >>>> pharo? >>>> >>>> thanks, >>>> >>>> Norbert >>> >>> >>> I've done an SSDP client/server, but not gone so far as to build a full >>> UPnP model on top of it, since I just needed a discovery protocol. >>> http://smalltalkhub.com/#!/~henriksp/SSDP. >>> >>> Should be possible to use as a base though; you can make a client with type >>> ssdp:all, and get some fun replies indicating the services available on >>> UPnP routers. >>> >>> Caveats apply to the socket init code which is really ugly, it attempts to >>> listen on all the interfaces present at the time of client creation, but >>> the correct primitives aren't really exposed from the plugin, the results >>> can be a bit hit and miss depending on OS/Distribution; nor are there hooks >>> to get notified when interfaces go up/down, so accounting for such >>> currently comes down to manual resets. >>> >>> Cheers, >>> Henry >> >> >