ลูกค้า MQTT สามารถสมัครเป็นสมาชิกหัวข้อที่สร้างขึ้นเองได้หรือไม่?


18

ในความเข้าใจของฉันใน MQTT หัวข้อจะถูกสร้างขึ้นเมื่อลูกค้าเผยแพร่สิ่งที่มีชื่อหัวข้อที่เกี่ยวข้อง

ไม่จำเป็นต้องกำหนดค่าหัวข้อการเผยแพร่ในนั้นเพียงพอ

จากที่นี่

เป็นไปได้หรือไม่ที่ลูกค้าจะสมัครเป็นสมาชิกหัวข้อของตัวเองหลังจากเผยแพร่แล้วจะสร้างมันขึ้นมา? ฉันไม่สามารถหาข้อ จำกัด ใด ๆ กับมันในรายละเอียด มันไม่ได้ระบุว่าเป็นพฤติกรรมผิดปกติที่เป็นไปได้ทั้ง:

5.4.8 การตรวจจับพฤติกรรมที่ผิดปกติ

การใช้งานเซิร์ฟเวอร์อาจตรวจสอบพฤติกรรมของลูกค้าในการตรวจสอบเหตุการณ์ความปลอดภัยที่อาจเกิดขึ้น ตัวอย่างเช่น:

  • พยายามเชื่อมต่อซ้ำ
  • พยายามตรวจสอบซ้ำแล้วซ้ำอีก
  • การยุติการเชื่อมต่อที่ผิดปกติ
  • การสแกนหัวข้อ (พยายามส่งหรือสมัครรับข้อมูลหลายหัวข้อ)
  • การส่งข้อความที่ไม่สามารถส่งได้ (ไม่มีสมาชิกในหัวข้อ)
  • ลูกค้าที่เชื่อมต่อ แต่ไม่ส่งข้อมูล

จากนี้ฉันคิดว่ามันเป็นไปได้อย่างแน่นอน ดังนั้นฉันสนใจสิ่งที่เป็นกรณีการใช้งานของคุณสมบัตินี้?

ทำไมมาตรฐานจึงอนุญาตให้ใช้กลไกดังกล่าวมันจะซับซ้อนในการติดตามเจ้าของหัวข้อหรือไม่ ดังนั้นเพียงแค่อนุญาตให้ลูกค้าสมัครเป็นสมาชิกหัวข้อของตนเอง

กรณีการใช้งานหนึ่งที่ฉันคิดได้ก็คือวิธีนี้ลูกค้าสามารถตรวจสอบข้อมูลที่เผยแพร่

คำตอบ:


19

ใช่เป็นไปได้ที่จะสมัครเป็นสมาชิกหัวข้อที่สร้างขึ้นเอง

ลูกค้า MQTT สามารถเป็นทั้งผู้เผยแพร่และผู้สมัครสมาชิกในเวลาเดียวกัน ในแง่ MQTT ลูกค้ารวมทั้งการและsubscriberspublishers

ฉันสนใจกรณีการใช้งานของคุณสมบัตินี้คืออะไร

กรณีใช้เป็นไปได้ (ฉันคิด) คือว่าสมมติว่าถ้ามีสามลูกค้า (x, y, z) สมัครเป็นสมาชิกหัวข้อที่สร้างขึ้นโดยx-topic xเมื่อใดก็ตามที่มีการเผยแพร่ข้อความx-topicทุกคนที่สมัครรับข้อมูลในหัวข้อนั้นจะได้รับข้อความ หากyเผยแพร่ข้อความไปยังหัวข้อx-topic(ฉันคิดว่าสามารถทำได้) หากxไม่ได้สมัครสมาชิกหัวข้อนั้นแม้ว่าจะสร้างหัวข้อขึ้นมา แต่ก็จะไม่ได้รับข้อความ

ดังนั้นลูกค้าจะต้องสมัครเป็นสมาชิกของหัวข้อเพื่อรับข้อความแม้ว่านี่จะเป็นผู้สร้างดั้งเดิมของหัวข้อนั้น

แต่กลไกสามารถควบคุมได้โดยใช้โบรกเกอร์เป็นสื่อ


ใช่ตัวเลือกนี้ทำให้ฉันนึกถึง เท่านั้นฉันไม่แน่ใจว่าลูกค้าใหม่สามารถเผยแพร่ไปยังหัวข้อที่มีอยู่แล้วโดยผู้เผยแพร่อื่น ๆ
Bence Kaulics

ใช่ลูกค้าใหม่สามารถเผยแพร่ไปยังหัวข้อที่มีอยู่ โปรดจำไว้ว่าลูกค้าไม่ได้สื่อสารโดยตรงทุกสิ่งพิมพ์และการสมัครรับข้อมูลเกิดขึ้นผ่านนายหน้า
bravokeyl

0

ใช่.

ลูกค้า MQTT เชื่อมต่อกับนายหน้าซึ่งอาจเป็นระบบคลาวด์หรืออุปกรณ์อื่น ๆ

ไม่มีสิ่งเช่นการสร้างหัวข้อ พวกเขาจะใช้เป็นหัวเรื่องสำหรับข้อความ ดังนั้นหากลูกค้าของคุณสมัครเป็นสมาชิกหัวข้อและหากมีการเผยแพร่บางสิ่งในหัวข้อนั้นข้อความจะได้รับผ่านนายหน้าซื้อขายให้กับลูกค้าอีกครั้ง

ตัวอย่างของโบรกเกอร์ที่ดีคือ Mosquitto สำหรับใช้งานบนอุปกรณ์และ CloudMqtt สำหรับนายหน้าซื้อขายบนคลาวด์


4
นี่ไม่ได้เป็นการขยายขอบเขตความรู้ออกไปมากกว่าคำตอบอื่น ๆ ที่ให้ไว้เมื่อปีที่แล้ว คุณมีอิสระที่จะเพิ่มคำตอบใหม่แม้กระทั่งคำถามที่ตอบแล้ว อย่างไรก็ตามคำตอบเหล่านั้นควรนำเสนอข้อมูลเชิงลึกเพิ่มเติมหรือที่ปรับปรุงใหม่สำหรับคำถามหรือแนวทางแก้ไข
Helmar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.