paho-mqtt는 대기중인 메시지를 제공하지 않습니다.

리 비우

paho-mqtt를 사용하고 대기열에있는 메시지를 수신하도록합니다. 내가 사용하는 브로커는 emqx 4.2.2이고 이것은 내 스크립트입니다.

from paho.mqtt.client import Client, MQTTv5


def on_connect(mqttc, obj, flags, rc, other):
    print("    Session present: " + str(flags['session present']))
    print("    Connection result: " + str(rc))
    mqttc.subscribe([
        ('/message/1', 1)
    ])


def on_message(*args, **kwargs):
    print("received a message")


client = Client(
    client_id='test-client-id',
    protocol=MQTTv5,
)


client.username_pw_set(
    username="test-user-2",
    password="test"
)

client.on_connect = on_connect
client.on_message = on_message

client.connect(
    host='localhost',
    port=1883,
    keepalive=60,
    clean_start=False,
)

client.loop_forever()

이제 브로커에게 메시지를 게시합니다.

mosquitto_pub -u test-user-2 -P test -t '/message/1' -m 'this is a message' -q 1 -V mqttv5

클라이언트가 브로커에 연결되어있는 동안 메시지를 수신하지만 QoS 1로 구독하고 있고 메시지가 QoS 1로 게시된다는 점을 감안하면 클라이언트와 브로커의 연결을 끊으면 더 많은 QoS를 게시 할 수 있습니다. 해당 주제에 1 개의 메시지를 보낸 다음 동일한 고정 client_id를 사용하여 내 클라이언트를 브로커에 다시 연결하면 내 클라이언트가 내 클라이언트가없는 동안 대기열에있는 메시지를 받게됩니다. 글쎄 그것은 일어나지 않고 mosquitto_sub를 사용하여 동일한 기능을 -c 플래그로 시뮬레이션하면 모든 것이 예상대로 작동하므로 스스로에게 질문하게됩니다 ... paho-mqtt에 문제가 있습니까? 내가 뭘 잘못하고 있니?

리 비우

MQTT v5에서 클린 시작은 세션이 시작시 삭제되는지 여부 만 의미합니다. 연결을 끊은 후 세션이 지속되는 시간을 제어하려면 세션 만료 간격을 설정해야합니다.

import paho.mqtt.properties as properties
...
connect_properties = properties.Properties(properties.PacketTypes.CONNECT)
connect_properties.SessionExpiryInterval = 3600

client.connect("localhost", 1883, 60, properties=connect_properties)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python paho mqtt 클라이언트는 동시에 게시 및 구독하지 않습니다.

분류에서Dev

RSMB는 MQTT-SN으로 게시 메시지를 승인하지 않습니다.

분류에서Dev

Python Paho MQTT 라이브러리에서 구독하지 않고 메시지 받기

분류에서Dev

다대다는 결과를 제공하지 않습니다.

분류에서Dev

Eclipse Paho Mqtt Client는 QoS-2에서 브로커가 전달하도록 ACK 될 때까지 게시 된 모든 메시지를 유지합니까?

분류에서Dev

PAHO mqtt에 주제를 게시 한 이유는 return-8이 나타났습니다.

분류에서Dev

tkinter 및 paho-mqtt-client에 대한 무한 루프를 배치하는 방법은 무엇입니까?

분류에서Dev

paho-MQTT python : loop_forever가 구독 메시지를 지원하도록하는 방법?

분류에서Dev

Passport-Facebook 인증은 모든 Facebook 계정에 대해 이메일 또는 기타 정보 (정의되지 않음)를 제공하지 않습니다.

분류에서Dev

Django Rest 프레임 워크에서 [인증 자격 증명이 제공되지 않았습니다] 오류 메시지를 사용자 지정하는 방법

분류에서Dev

Paho Python 클라이언트가 짧은 메시지를 게시하지만 긴 메시지는 게시하지 않는 이유

분류에서Dev

Ubuntu 18.04 LTS를 제공하기 위해 메시지를 보내는 동안 오류가 발생했습니다.

분류에서Dev

인터넷 연결 끊기에서 Paho mqtt가 콜백을 실행하지 않음

분류에서Dev

Ifconfig는 Kali Linux에 대한 세부 정보를 제공하지 않습니다.

분류에서Dev

파이썬에서 paho mqtt를 사용하여 수신 된 메시지 처리

분류에서Dev

Android Log.d는 전체 메시지를 인쇄하지 않습니다.

분류에서Dev

MQTT는 사용자 대 사용자 메시지를 지원합니까?

분류에서Dev

창에 새 데이터를 추가 할 때 jQuery 플러그인을 다시로드하는 방법. reload () 메서드가 제공되지 않았습니다.

분류에서Dev

UIActivityViewController는 FB, Twitter 및 Mail에 대해서만 이미지를 공유하지만 메시지는 공유하지 않습니다.

분류에서Dev

Kafka 소비자는 기존 주제의 메시지를 사용하지 않습니다.

분류에서Dev

Cucumber는 기능 파일의 단계에 대한 메소드 서명을 제공하지 않습니다.

분류에서Dev

webjob QueueTrigger가 대기열에서 메시지를 삭제하지 않습니다.

분류에서Dev

Outlook 메시지를 삭제하는 스크립트가 모든 메시지를 삭제하지 않습니다.

분류에서Dev

Simp는 Isabelle에서 제공된 기본형을 사용하지 않습니다.

분류에서Dev

RtMidi-MidiInDummy :이 클래스는 기능을 제공하지 않습니다.

분류에서Dev

프로그램이 와인에 설치를 거부하고 "운영 체제가 적절하지 않습니다"라는 메시지를 표시합니다.

분류에서Dev

Grails GGTS는 그루비 파일에 대한 코드 접기를 제공하지 않습니다.

분류에서Dev

Paho MQTT 대 MQTT Paho Spring 통합

분류에서Dev

Laravel dingo API가 오류를 제공하는 메소드를 인식하지 못함 Method [testing]이 존재하지 않습니다.

Related 관련 기사

  1. 1

    Python paho mqtt 클라이언트는 동시에 게시 및 구독하지 않습니다.

  2. 2

    RSMB는 MQTT-SN으로 게시 메시지를 승인하지 않습니다.

  3. 3

    Python Paho MQTT 라이브러리에서 구독하지 않고 메시지 받기

  4. 4

    다대다는 결과를 제공하지 않습니다.

  5. 5

    Eclipse Paho Mqtt Client는 QoS-2에서 브로커가 전달하도록 ACK 될 때까지 게시 된 모든 메시지를 유지합니까?

  6. 6

    PAHO mqtt에 주제를 게시 한 이유는 return-8이 나타났습니다.

  7. 7

    tkinter 및 paho-mqtt-client에 대한 무한 루프를 배치하는 방법은 무엇입니까?

  8. 8

    paho-MQTT python : loop_forever가 구독 메시지를 지원하도록하는 방법?

  9. 9

    Passport-Facebook 인증은 모든 Facebook 계정에 대해 이메일 또는 기타 정보 (정의되지 않음)를 제공하지 않습니다.

  10. 10

    Django Rest 프레임 워크에서 [인증 자격 증명이 제공되지 않았습니다] 오류 메시지를 사용자 지정하는 방법

  11. 11

    Paho Python 클라이언트가 짧은 메시지를 게시하지만 긴 메시지는 게시하지 않는 이유

  12. 12

    Ubuntu 18.04 LTS를 제공하기 위해 메시지를 보내는 동안 오류가 발생했습니다.

  13. 13

    인터넷 연결 끊기에서 Paho mqtt가 콜백을 실행하지 않음

  14. 14

    Ifconfig는 Kali Linux에 대한 세부 정보를 제공하지 않습니다.

  15. 15

    파이썬에서 paho mqtt를 사용하여 수신 된 메시지 처리

  16. 16

    Android Log.d는 전체 메시지를 인쇄하지 않습니다.

  17. 17

    MQTT는 사용자 대 사용자 메시지를 지원합니까?

  18. 18

    창에 새 데이터를 추가 할 때 jQuery 플러그인을 다시로드하는 방법. reload () 메서드가 제공되지 않았습니다.

  19. 19

    UIActivityViewController는 FB, Twitter 및 Mail에 대해서만 이미지를 공유하지만 메시지는 공유하지 않습니다.

  20. 20

    Kafka 소비자는 기존 주제의 메시지를 사용하지 않습니다.

  21. 21

    Cucumber는 기능 파일의 단계에 대한 메소드 서명을 제공하지 않습니다.

  22. 22

    webjob QueueTrigger가 대기열에서 메시지를 삭제하지 않습니다.

  23. 23

    Outlook 메시지를 삭제하는 스크립트가 모든 메시지를 삭제하지 않습니다.

  24. 24

    Simp는 Isabelle에서 제공된 기본형을 사용하지 않습니다.

  25. 25

    RtMidi-MidiInDummy :이 클래스는 기능을 제공하지 않습니다.

  26. 26

    프로그램이 와인에 설치를 거부하고 "운영 체제가 적절하지 않습니다"라는 메시지를 표시합니다.

  27. 27

    Grails GGTS는 그루비 파일에 대한 코드 접기를 제공하지 않습니다.

  28. 28

    Paho MQTT 대 MQTT Paho Spring 통합

  29. 29

    Laravel dingo API가 오류를 제공하는 메소드를 인식하지 못함 Method [testing]이 존재하지 않습니다.

뜨겁다태그

보관