|
Packit |
b53373 |
local socket = require"socket"
|
|
Packit |
b53373 |
local group = "225.0.0.37"
|
|
Packit |
b53373 |
local port = 12345
|
|
Packit |
b53373 |
local c = assert(socket.udp())
|
|
Packit |
b53373 |
--print(assert(c:setoption("reuseport", true)))
|
|
Packit |
b53373 |
--print(assert(c:setsockname("*", port)))
|
|
Packit |
b53373 |
--print(assert(c:setoption("ip-multicast-loop", false)))
|
|
Packit |
b53373 |
--print(assert(c:setoption("ip-multicast-ttl", 4)))
|
|
Packit |
b53373 |
--print(assert(c:setoption("ip-multicast-if", "10.0.1.3")))
|
|
Packit |
b53373 |
--print(assert(c:setoption("ip-add-membership", {multiaddr = group, interface = "*"})))
|
|
Packit |
b53373 |
local i = 0
|
|
Packit |
b53373 |
while 1 do
|
|
Packit |
b53373 |
local message = string.format("hello all %d!", i)
|
|
Packit |
b53373 |
assert(c:sendto(message, group, port))
|
|
Packit |
b53373 |
print("sent " .. message)
|
|
Packit |
b53373 |
socket.sleep(1)
|
|
Packit |
b53373 |
c:settimeout(0.5)
|
|
Packit |
b53373 |
print(c:receivefrom())
|
|
Packit |
b53373 |
i = i + 1
|
|
Packit |
b53373 |
end
|