mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-25 12:43:09 +00:00
multicast.bind channel
This commit is contained in:
@@ -20,6 +20,12 @@ function multicast.newchannel(conf)
|
|||||||
return channel
|
return channel
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function multicast.bind(channel, conf)
|
||||||
|
assert(multicastd, "Init first")
|
||||||
|
assert(not dispatch[channel])
|
||||||
|
dispatch[channel] = default_conf(conf)
|
||||||
|
end
|
||||||
|
|
||||||
function multicast.publish(channel, ...)
|
function multicast.publish(channel, ...)
|
||||||
local conf = assert(dispatch[channel])
|
local conf = assert(dispatch[channel])
|
||||||
skynet.call(multicastd, "lua", "PUB", channel, c.pack(conf.pack(...)))
|
skynet.call(multicastd, "lua", "PUB", channel, c.pack(conf.pack(...)))
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ skynet.start(function()
|
|||||||
assert(cmd == "init")
|
assert(cmd == "init")
|
||||||
mc.subscribe(channel, {
|
mc.subscribe(channel, {
|
||||||
dispatch = function (channel, source, ...)
|
dispatch = function (channel, source, ...)
|
||||||
print(string.format("%s ===> %s (%d)",skynet.address(source), skynet.address(skynet.self()), channel), ...)
|
print(string.format("%s <=== %s (%d)",skynet.address(skynet.self()),skynet.address(source), channel), ...)
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
end)
|
end)
|
||||||
@@ -26,6 +26,7 @@ skynet.start(function()
|
|||||||
skynet.send(sub, "lua", "init", channel)
|
skynet.send(sub, "lua", "init", channel)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
print(skynet.address(skynet.self()), "===>", channel)
|
||||||
mc.publish(channel, "Hello World")
|
mc.publish(channel, "Hello World")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user