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 ओळखही देते; ते प्रॉक्सी होस्टनावाने बदलल्यास इच्छित सुरक्षित सेवा कॉन्फिगर होत नाही.

संबंधित लेख