first commit
This commit is contained in:
32
examples/02_subscribe_simple.jl
Normal file
32
examples/02_subscribe_simple.jl
Normal file
@@ -0,0 +1,32 @@
|
||||
# Read 20 messages in topic "test/..." from the public broker test.mosquitto.org
|
||||
using Mosquitto
|
||||
|
||||
# Connect to a broker, also starts loop if Threads.nthreads()>1
|
||||
client = Client("test.mosquitto.org", 1883)
|
||||
|
||||
# subscribe to topic "test"
|
||||
subscribe(client, "test/#")
|
||||
|
||||
function onmessage(nmin)
|
||||
nmessages = Base.n_avail(Mosquitto.messages_channel)
|
||||
nmessages == 0 && return 0
|
||||
|
||||
for i = 1:nmessages
|
||||
temp = take!(Mosquitto.messages_channel)
|
||||
println("Message $(nmin + i) of 20:")
|
||||
println("\ttopic: $(temp.topic)\tmessage:$(String(temp.payload))")
|
||||
end
|
||||
return nmessages
|
||||
end
|
||||
|
||||
# Messages will be put in
|
||||
# the channel Mosquitto.messages_channel.
|
||||
nmessages = 0
|
||||
while nmessages<20
|
||||
# Take the message on arrival
|
||||
loop(client)
|
||||
nmessages += onmessage(nmessages)
|
||||
end
|
||||
|
||||
# Close everything
|
||||
disconnect(client)
|
||||
Reference in New Issue
Block a user