set_proxy ఒక PySocks సాకెట్ తన కనెక్షన్‌ను స్థాపించేటప్పుడు ఉపయోగించే ప్రాక్సీ కాన్ఫిగరేషన్‌ను నిల్వ చేస్తుంది. ఇది నడుస్తున్న స్ట్రీమ్‌ను ఒక మధ్యవర్తి నుండి మరొకదానికి తరలించదు.

కనెక్షన్ తెరిచిన తర్వాత దాని బైట్‌లు ఆ స్థాపిత మార్గానికి చెందుతాయి. నిల్వ చేసిన ప్రాక్సీ కాన్ఫిగరేషన్‌ను తొలగించడం కనెక్షన్‌ను నేరుగా గమ్యానికి తరలించమని అడగడం కాదు, చిరునామా మార్చడం దాన్ని కొత్త నిర్గమనానికి తరలించదు.

మరో మార్గం కోసం కొత్త సాకెట్ సృష్టించండి, దాన్ని ఉద్దేశపూర్వకంగా కాన్ఫిగర్ చేయండి మరియు గమ్యంతో కొత్త కనెక్షన్‌ను స్థాపించండి. పాత సాకెట్‌ను అప్లికేషన్ యొక్క సాధారణ జీవిత చక్రం ద్వారా మూసివేయండి.

ప్రతి సాకెట్ సెట్టింగ్‌లను గ్లోబల్ డిఫాల్ట్ లేదా socket మాడ్యూల్ యొక్క monkey-patching నుండి వేరుగా ఉంచండి. గ్లోబల్ మార్పులు మరో కోడ్‌లో తర్వాత వచ్చే సాకెట్‌లను ప్రభావితం చేయవచ్చు, కానీ ఇప్పటికే ఉన్న సాకెట్ ఏమి చేస్తోందో వివరించవు.

అప్లికేషన్ ప్రోటోకాల్‌కు నిరంతర సెషన్ అవసరమైతే, తిరిగి కనెక్ట్ అవ్వడానికి ఆ ప్రోటోకాల్ యొక్క రికవరీ లాజిక్ కూడా అవసరం. కొత్త TCP మార్గం మరియు మరో పబ్లిక్ IP ఆటోమేటిక్‌గా అప్లికేషన్ యొక్క లావాదేవీ లేదా ప్రమాణీకృత స్థితిని నిలబెట్టుకోవు.

సంబంధిత వ్యాసాలు