Hey, @veonua
To query the service, I recommend you tweak the order of configurations a little bit:
local ip, port = '*', 0
local data = '...'
local udp = socket.udp()
-- socket config
-- in addition to your current configurations
assert(udp:setsockname(ip, port))
assert(udp:setoption('broadcast', true))
-- broadcast
assert(udp:sendto(data, '224.0.0.251', 5353)
local res = assert(udp:receivefrom())