저는 현재 파이썬을 사용하여 MQTT 클라이언트에서 작업 중이며 Mosquitto 브로커를 게시하고 구독하는 클라이언트를 만들 수있는 시점에 도달했습니다.
문제는 모기 중개인이 오랫동안 연결되어 있어도 최대 20 개의 PUBLISH 패킷 만 가입자 클라이언트에 전송한다는 것입니다.
구독자 클라이언트에 20 개 이상의 PUBLISH 패킷을 보내도록 mosquitto를 구성하려면 어떻게해야합니까?
모기 로그 :
1608918436: Received PUBLISH from publisher (d1, q1, r0, m1, '/OS', ... (3 bytes))
1608918436: Sending PUBLISH to subscriber (d0, q1, r0, m17, '/OS', ... (3 bytes))
1608918436: Sending PUBACK to publisher (m1, rc0)
1608918438: Received PUBLISH from publisher (d1, q1, r0, m1, '/OS', ... (3 bytes))
1608918438: Sending PUBLISH to subscriber (d0, q1, r0, m18, '/OS', ... (3 bytes))
1608918438: Sending PUBACK to publisher (m1, rc0)
1608918440: Received PUBLISH from publisher (d1, q1, r0, m1, '/OS', ... (3 bytes))
1608918440: Sending PUBLISH to subscriber (d0, q1, r0, m19, '/OS', ... (3 bytes))
1608918440: Sending PUBACK to publisher (m1, rc0)
1608918442: Received PUBLISH from publisher (d1, q1, r0, m1, '/OS', ... (3 bytes))
1608918442: Sending PUBLISH to subscriber (d0, q1, r0, m20, '/OS', ... (3 bytes))
이 시점에서 mosquitto 브로커는 가입자 클라이언트가 브로커에 연결된 상태를 유지하기 위해 PINGREQ를 보낼 때 PINGRESP를 제외하고는 가입자에게 더 많은 패킷을 보내지 않습니다.
1608918442: Sending PUBACK to publisher (m1, rc0)
1608918442: Received PINGREQ from subscriber
1608918442: Sending PINGRESP to subscriber
1608918444: Received PUBLISH from publisher (d1, q1, r0, m1, '/OS', ... (3 bytes))
1608918444: Sending PUBACK to publisher (m1, rc0)
1608918446: Received PUBLISH from publisher (d1, q1, r0, m1, '/OS', ... (3 bytes))
1608918446: Sending PUBACK to publisher (m1, rc0)
실제로 필요한 경우 클라이언트에 대한 코드를 기꺼이 제공하겠습니다.
나중에 편집 : 언급 할 가치가
있을 수 있습니다. 한 주제에 더 많은 구독자 가있는 경우이 동작은 관찰 할 수 없으며 브로커는 어떤 지점에서도 멈추지 않고 패킷을 보냅니다.
최대 기내 메시지 수 (확인되지 않은 메시지의 최대 수)에 도달 한 것처럼 20 개의 메시지가 들립니다.
메시지는 QOS 1이므로 클라이언트가이를 확인해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다