기본 콘텐츠로 건너뛰기

라벨이 wildcard인 게시물 표시

MQTT subscribe - Wildcard

MQTT를 사용하다보면 여러개의 topic 을 동시에 가입해야할 경우가 있는데 가령 대화방의 경우 같은 방에 있는데 누가 메시지를 보냈는지 알아야하는데 subscribe한 top에 들어온 client ID 를 알 수는 없을 때 사용자 별로 각자 topic을 만들어 publish 하고 모든 사용자가 서로의 topic을 죄다 가입한 후 topic을 보면서 구분할 수 있는데 이 경우 subscribe하기가 매우 번거롭다. Wildcard를 이용하여 이런 요구를 해결할 수 있다. 1. Single Level : + 해당 레벨에 한하여 topic을 확장한다. chatroom/roomA/+/profile로 subscribe를 하면 아래와 같이 topic들이 있을 경우 chatroom/ roomA /userA/message (X) chatroom/ roomA /userA/ profile (O) chatroom/ roomA /userA/status (X) chatroom/ roomA /userB/message (X) chatroom/ roomA /userB/ profile (O) chatroom/ roomA /userB/status (X) chatroom/roomB/userC/message (X) chatroom/roomB/userC/profile (X) chatroom/roomB/userC/status (X)  chatroom/roomB/userD/message (X) chatroom/roomB/userD/profile (X) chatroom/roomB/userD/status (X) roomA와 profile이 있는 topic에 모두 subscribe 한다. 2. Multi Level : # 해당 레벨과 그 하위 topic 모두 subscribe 한다. 마찬가지로 chatroom/roomA/# 로 subscribe를 하면 chatroom/ roomA /userA/messa...