2017-10-03 12 views
0

this pageで述べたように、Eclipse Paho Pythonクライアントは、クライアントがオフラインのときに送信されないメッセージのバッファを提供します。 。Eclipse Paho MQTT:Pythonクライアントのメッセージのオフラインバッファリングを無効にする

多数のクライアントが同時に再接続するときにサーバーのフラッディングを防ぐためにこの機能を無効にする方法はありますか?

答えて

1

reinitialise()メソッドを呼び出すと、格納されているメッセージが消去されます。

ドキュメントhere

clean_session

a boolean that determines the client type. If True, the broker will remove all information about this client when it disconnects. If 

falseから、クライアントは、耐久性のあるクライアントおよびサブスクリプションの情報であり、 は、クライアントの切断時のメッセージが保持されますキューに入れられました。

クライアントは、切断時に自分自身の送信メッセージを破棄しないことに注意してください。 connect()またはreconnect()を呼び出すと、 というメッセージが再送されます。クライアントを元の 状態にリセットするには、reinitialise()を使用します。

再初期化のためのドキュメントはここにある:

再初期化()

reinitialise(client_id="", clean_session=True, userdata=None)

それだけで作成されていた場合は再初期化()関数は、 としてその開始状態にクライアントをリセット。これは、クライアントのコンストラクタ と同じ引数をとります。例

mqttc.reinitialise()

あなたが戻ってon_disconnectコールで呼ばれるようにこれを設定することができます。

+0

ありがとう、それは私が必要とした機能でした –

関連する問題