mirror of
https://github.com/kerberos-io/onvif.git
synced 2026-08-23 15:08:33 +00:00
Merge pull request #11 from GreenLightning/fix
Fix panic during SendProbe
This commit is contained in:
@@ -49,26 +49,26 @@ func SendProbe(interfaceName string, scopes, types []string, namespaces map[stri
|
||||
}
|
||||
|
||||
func sendUDPMulticast(msg string, interfaceName string) []string {
|
||||
var result []string
|
||||
data := []byte(msg)
|
||||
c, err := net.ListenPacket("udp4", "0.0.0.0:1024")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil
|
||||
}
|
||||
defer c.Close()
|
||||
|
||||
iface, err := net.InterfaceByName(interfaceName)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
group := net.IPv4(239, 255, 255, 250)
|
||||
|
||||
c, err := net.ListenPacket("udp4", "0.0.0.0:1024")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
defer c.Close()
|
||||
|
||||
p := ipv4.NewPacketConn(c)
|
||||
group := net.IPv4(239, 255, 255, 250)
|
||||
if err := p.JoinGroup(iface, &net.UDPAddr{IP: group}); err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
dst := &net.UDPAddr{IP: group, Port: 3702}
|
||||
data := []byte(msg)
|
||||
for _, ifi := range []*net.Interface{iface} {
|
||||
if err := p.SetMulticastInterface(ifi); err != nil {
|
||||
fmt.Println(err)
|
||||
@@ -83,6 +83,7 @@ func sendUDPMulticast(msg string, interfaceName string) []string {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
var result []string
|
||||
for {
|
||||
b := make([]byte, bufSize)
|
||||
n, _, _, err := p.ReadFrom(b)
|
||||
|
||||
Reference in New Issue
Block a user