Merge pull request #11 from GreenLightning/fix

Fix panic during SendProbe
This commit is contained in:
Edward
2022-03-23 12:40:15 +08:00
committed by GitHub

View File

@@ -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)