ianr0bkny / go-sonos

A Go-language library for accessing UPnP AV devices
Other
87 stars 23 forks source link

Cannot find devices #7

Closed jsgv closed 5 years ago

jsgv commented 8 years ago

I am trying to identify sono devices on my network. But I am getting an error.

2016/03/08 14:50:22 http: panic serving [::1]:56561: listen udp [xxxx::xxxx:xxxz:xxxx:xxxx]:11209: bind: can't assign requested address
goroutine 8 [running]:
net/http.(*conn).serve.func1(0xc820116b80)
    /Users/jesus/.gvm/gos/go1.6/src/net/http/server.go:1389 +0xc1
panic(0x394bc0, 0xc820016d70)
    /Users/jesus/.gvm/gos/go1.6/src/runtime/panic.go:426 +0x4e9
github.com/ianr0bkny/go-sonos/ssdp.(*ssdpDefaultManager).ssdpDiscoverImpl(0xc82001f0e0, 0x3ea9e0, 0x3, 0x3e85b0, 0x5, 0xc82001f000)
    /Users/jesus/.gvm/pkgsets/go1.6/global/src/github.com/ianr0bkny/go-sonos/ssdp/ssdp.go:921 +0xe6
github.com/ianr0bkny/go-sonos/ssdp.(*ssdpDefaultManager).Discover(0xc82001f0e0, 0x3ea9e0, 0x3, 0x3e85b0, 0x5, 0x0, 0x0, 0x0)
    /Users/jesus/.gvm/pkgsets/go1.6/global/src/github.com/ianr0bkny/go-sonos/ssdp/ssdp.go:347 +0x60
main.findSonos()
    /Users/jesus/.gvm/pkgsets/go1.6/global/src/github.com/jesusjjf/slacksonos/main.go:51 +0x3dc
main.slackHandler(0x1205808, 0xc820067790, 0xc8200f22a0)

I can see the device on my network when I arp -a

...
sonoszp (10.1.1.155) at 0:x:xx:xx:xx:xx on en0 ifscope [ethernet]
...

My code

func findSonos() {
    fmt.Println("go-sonos example discovery")
    mgr := ssdp.MakeManager()
    if err := mgr.Discover("en0", "11209", false); err != nil {
        fmt.Println(err)
    }
    i := 0
    dev_map := mgr.Devices()
    for _, dev := range dev_map {
        fmt.Printf("[%02d] %s %s %s %s %s\n", i, dev.Product(), dev.ProductVersion(), dev.Name(), dev.Location(), dev.UUID())
        i++
    }
    mgr.Close()
}
ianr0bkny commented 8 years ago

Hi Jesus,

It looks like you're trying to use IPv6 addressing, which the library doesn't support right now ... I need to get around to adding support for it! Sorry.

--Ian

On Tue, 2016-03-08 at 14:57 -0800, Jesus Galvan wrote:

I am trying to identify sono devices on my network.  But I am getting an error. 2016/03/08 14:50:22 http: panic serving [::1]:56561: listen udp [xxxx::xxxx:xxxz:xxxx:xxxx]:11209: bind: can't assign requested address goroutine 8 [running]: net/http.(_conn).serve.func1(0xc820116b80)     /Users/jesus/.gvm/gos/go1.6/src/net/http/server.go:1389 +0xc1 panic(0x394bc0, 0xc820016d70)     /Users/jesus/.gvm/gos/go1.6/src/runtime/panic.go:426 +0x4e9 github.com/ianr0bkny/go- sonos/ssdp.(_ssdpDefaultManager).ssdpDiscoverImpl(0xc82001f0e0, 0x3ea9e0, 0x3, 0x3e85b0, 0x5, 0xc82001f000)     /Users/jesus/.gvm/pkgsets/go1.6/global/src/github.com/ianr0bkny/g o-sonos/ssdp/ssdp.go:921 +0xe6 github.com/ianr0bkny/go- sonos/ssdp.(*ssdpDefaultManager).Discover(0xc82001f0e0, 0x3ea9e0, 0x3, 0x3e85b0, 0x5, 0x0, 0x0, 0x0)     /Users/jesus/.gvm/pkgsets/go1.6/global/src/github.com/ianr0bkny/g o-sonos/ssdp/ssdp.go:347 +0x60 main.findSonos()     /Users/jesus/.gvm/pkgsets/go1.6/global/src/github.com/jesusjjf/sl acksonos/main.go:51 +0x3dc main.slackHandler(0x1205808, 0xc820067790, 0xc8200f22a0) I can see the device on my network when I arp -a ... sonoszp (10.1.1.155) at 0:x:xx:xx:xx:xx on en0 ifscope [ethernet] ... My code func findSonos() {     fmt.Println("go-sonos example discovery")     mgr := ssdp.MakeManager()     if err := mgr.Discover("en0", "11209", false); err != nil {         fmt.Println(err)     }     i := 0     devmap := mgr.Devices()     for , dev := range dev_map {         fmt.Printf("[%02d] %s %s %s %s %s\n", i, dev.Product(), dev.ProductVersion(), dev.Name(), dev.Location(), dev.UUID())         i++     }     mgr.Close() } — Reply to this email directly or view it on GitHub.