Create loopback multicast listener UDP

I’m trying to write clients, that listen or send messages on loopback multicast address, for example: 233.255.255.250:1000.

Setup multicast listener udp:

func setupMulticastUDPConn() *net.UDPConn {
	addr, err := net.ResolveUDPAddr("udp", MulticastUDP)
	if err != nil {
		log.Fatalf("cannot resolve multicast udp address: %s", err)
	}

	ifaces, _ := net.Interfaces()
	mUdpConn, err := net.ListenMulticastUDP("udp", &ifaces[1], addr)
	if err != nil {
		log.Fatalf("cannot listen on multicast udp: %s", err)
	}

	return mUdpConn
}

I’m able to see packets created in Wireshark, but they are not properly delivered. This is a code for reading from conn:

length, _, err := mUdpConn.ReadFromUDP(buffer)

image
image

So the problem is in reading from multicast address. Basically, mudpConn.ReadFromUDP(buffer) just hangs and waits for data, but they don’t come.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.