Paho MQTT Python: ਕਨੈਕਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ proxy_set ਕਾਲ ਕਰੋ
MQTT ਕਨੈਕਸ਼ਨ ਲਈ Paho ਦੀ proxy_set API ਵਰਤੋ ਅਤੇ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਬ੍ਰੋਕਰ ਪ੍ਰਮਾਣਿਕਤਾ ਤੋਂ ਵੱਖ ਰੱਖੋ।
Paho ਦੇ Python ਕਲਾਇੰਟ ਵਿੱਚ ਦਸਤਾਵੇਜ਼ੀ proxy_set ਢੰਗ ਹੈ। MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਕਲਾਇੰਟ ਨੂੰ ਸੰਰਚਿਤ ਕਰੋ:
client.proxy_set(proxy_type=socks.SOCKS5,
proxy_addr='203.0.113.10',
proxy_port=1080)ਇਹ ਮੰਨਦਾ ਹੈ ਕਿ ਅਨੁਕੂਲ Paho ਕਲਾਇੰਟ ਅਤੇ ਲੋੜੀਂਦਾ SOCKS ਸਮਰਥਨ ਪਹਿਲਾਂ ਹੀ ਉਪਲਬਧ ਹਨ। ਐਂਡਪੌਇੰਟ ਸਿਰਫ਼ ਉਦਾਹਰਨ ਹੈ। ਮਨਜ਼ੂਰ ਜਨਤਕ-ਪ੍ਰੌਕਸੀ ਮਾਰਗ ਉੱਤੇ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਬ੍ਰੋਕਰ ਲਈ, SOCKS5 ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਦੇ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ; ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਨੋਡ ਅਸਲ ਬ੍ਰੋਕਰ ਮੰਜ਼ਿਲ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਢੰਗ ਸਮਰਥਿਤ ਪ੍ਰੌਕਸੀ ਕਿਸਮਾਂ ਦਾ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਪ੍ਰੌਕਸੀਿੰਗ PySocks ਰਾਹੀਂ ਭੇਜਦਾ ਹੈ।
ਬ੍ਰੋਕਰ ਦਾ ਅਜੇ ਵੀ ਆਪਣਾ ਹੋਸਟਨਾਮ, ਪੋਰਟ, TLS ਲੋੜਾਂ ਅਤੇ MQTT ਪ੍ਰਮਾਣਿਕਤਾ ਹੈ। ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਬ੍ਰੋਕਰ ਨੂੰ ਭੇਜਿਆ ਜਾਣ ਵਾਲਾ ਵਰਤੋਂਕਾਰ ਨਾਮ ਨਹੀਂ ਬਣਦਾ। ਇਸੇ ਤਰ੍ਹਾਂ, ਬ੍ਰੋਕਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸੈੱਟ ਕਰਨਾ ਪ੍ਰੌਕਸੀ ਛਾਲ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰਦਾ।
ਕਨੈਕਸ਼ਨ ਸੈੱਟਅਪ ਫੇਲ ਹੋਣ 'ਤੇ ਕਨੈਕਸ਼ਨ ਟ੍ਰਾਂਸਪੋਰਟ ਅਤੇ ਪ੍ਰੌਕਸੀ ਦੀਆਂ ਮਨਜ਼ੂਰ ਮੰਜ਼ਿਲਾਂ ਜਾਂਚੋ। ਵੈੱਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਲੈ ਕੇ ਜਾਣ ਵਾਲੀ ਪ੍ਰੌਕਸੀ ਆਪਣੇ ਆਪ ਬ੍ਰੋਕਰ ਦੇ TCP ਪੋਰਟ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦੀ।
ਕਨੈਕਸ਼ਨ ਸੈੱਟਅਪ ਤੋਂ ਬਾਅਦ Paho API ਅਨੁਸਾਰ ਲੋੜੀਂਦਾ MQTT ਨੈੱਟਵਰਕ ਲੂਪ ਚਲਦਾ ਰੱਖੋ। ਪ੍ਰੌਕਸੀ ਮਾਰਗ ਸਥਾਪਿਤ ਕਰਨਾ ਇੱਕ ਕਦਮ ਹੈ; ਇਹ ਆਪਣੇ ਆਪ MQTT keepalive, ਕਾਲਬੈਕ ਅਤੇ ਪ੍ਰਵਾਨਗੀਆਂ ਨਹੀਂ ਚਲਾਉਂਦਾ।