ללקוח ה-Python של Paho יש מתודה מתועדת בשם proxy_set. הגדירו את הלקוח הזה לפני ההתחברות ל-broker של MQTT:

client.proxy_set(proxy_type=socks.SOCKS5,
                 proxy_addr='203.0.113.10',
                 proxy_port=1080)

הנחה זו מניחה שלקוח Paho תואם ולתמיכת ה-SOCKS הנדרשת כבר זמינים. נקודת הקצה היא להמחשה בלבד. עבור broker נגיש לציבור במסלול פרוקסי ציבורי מורשה, רשימת הפרוקסי SOCKS5 מציעה מועמדים של מארח ופורט; ודאו שהצומת מתיר את יעד ה-broker בפועל. המתודה מתעדת את סוגי הפרוקסי הנתמכים ומעבירה את הפרוקסי דרך PySocks.

ל-broker עדיין יש שם מארח, פורט, דרישות TLS ואימות MQTT משלו. חשבון פרוקסי אינו הופך לשם המשתמש שנשלח ל-broker. בדומה לכך, הגדרת פרטי האימות של ה-broker אינה מאמתת את קפיצת הפרוקסי.

בדקו את תעבורת החיבור ואת היעדים המותרים של הפרוקסי כאשר הקמת החיבור נכשלת. פרוקסי שנושא גלישה באינטרנט אינו מתיר אוטומטית את פורט ה-TCP של broker.

השאירו את לולאת הרשת של MQTT פועלת כנדרש על ידי ה-API של Paho לאחר הקמת החיבור. הקמת מסלול הפרוקסי היא שלב אחד; היא אינה מניעה בעצמה keepalive, קריאות חוזרות ואישורים של MQTT.

מאמרים קשורים