Twisted اینڈ پوائنٹ TCP کنکشن کرتا ہے۔ پراکسی کے ساتھ بات چیت کے لیے ترتیب دی گئی WebSocket فیکٹری کو ثالث سے جڑنے کے لیے پھر بھی وہی اینڈ پوائنٹ درکار ہے۔

اپنے معیاری مددگار کو استعمال کرنے والی موجودہ Autobahn ایپلیکیشن کے لیے:

from autobahn.twisted.websocket import WebSocketClientFactory, connectWS
from twisted.internet import ssl

factory = WebSocketClientFactory(
    'wss://events.example/channel',
    proxy={'host': 'proxy.example', 'port': 8080},
)
factory.protocol = ApplicationProtocol
connector = connectWS(
    factory,
    contextFactory=ssl.optionsForClientTLS('events.example'),
    timeout=10,
)

ApplicationProtocol ایپلیکیشن کا موجودہ WebSocket پروٹوکول کلاس ہے۔ ری ایکٹر اور کنکشن کی صفائی اسی ایپلیکیشن کے لائف سائیکل میں رکھیں۔ عوامی ثالث کے ذریعے اجازت یافتہ عوامی WSS سروس کے لیے، HTTP پراکسی فہرست فیکٹری کے پراکسی ہوسٹ اور پورٹ کے لیے امیدوار فراہم کرتی ہے۔

پراکسی کے لیے ترتیب دی گئی فیکٹری میں، connectWS TCP کو پراکسی سے جوڑتا ہے اور بعد کے محفوظ کنکشن کے لیے منزل کا TLS سیاق رکھتا ہے۔ یہ شروع میں عام HTTP پراکسی کنکشن کو منزل کے TLS میں نہیں لپیٹتا۔

حسبِ ضرورت HostnameEndpoint اور ClientService ترتیب کو وہی تقسیم برقرار رکھنی چاہیے: پہلے پراکسی سے جڑیں، پھر ترتیب دی گئی فیکٹری کو ہدف کے ساتھ بات چیت کرنے اور مطلوبہ TLS قائم کرنے دیں۔ جب فیکٹری پراکسی گفتگو کی توقع کر رہی ہو تو اینڈ پوائنٹ کو براہِ راست events.example سے جوڑنا ان کرداروں کو ملا دیتا ہے۔

WebSocket URL سروس کی اصل منزل ہی رہتا ہے۔ اس کا ہوسٹ نام TLS شناخت بھی فراہم کرتا ہے؛ اسے پراکسی کے ہوسٹ نام سے بدلنے سے مطلوبہ محفوظ سروس ترتیب نہیں پاتی۔

متعلقہ مضامین