Twisted endpoint TCP இணைப்பைச் செய்கிறது. proxy உடன் பேச்சுவார்த்தை நடத்த வடிவமைக்கப்பட்ட WebSocket factory அந்த endpoint ஐ இன்னும் தேவைப்படுகிறது, இடைத்தரகருடன் இணைவதற்கு.

தனது நிலையான உதவியாளரைப் பயன்படுத்தும் தற்போதுள்ள 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 நெறிமுறை வகுப்பாகும். reactor மற்றும் இணைப்பு சுத்தம் செய்வதை அந்தப் பயன்பாட்டின் வாழ்க்கைச் சுழற்சியில் வைத்திருங்கள். பொது இடைத்தரகர் வழியாக அனுமதிக்கப்படும் பொது WSS சேவைக்கு, HTTP proxy பட்டியல் factory இன் proxy host மற்றும் port க்கான வேட்பாளர்களை வழங்குகிறது.

proxy க்காக வடிவமைக்கப்பட்ட factory இல், connectWS TCP ஐ proxy உடன் இணைத்து, பின்னர் வரும் பாதுகாப்பான இணைப்பிற்காக இலக்கு TLS சூழலைத் தக்கவைக்கிறது. தொடக்கத்தில் சாதாரண HTTP proxy இணைப்பை இலக்கு TLS இல் சுற்றாது.

தனிப்பயன் HostnameEndpoint மற்றும் ClientService அமைப்பு அதே பிரிவைப் பேண வேண்டும்: முதலில் proxy உடன் இணையுங்கள், பின்னர் வடிவமைக்கப்பட்ட factory இலக்குடன் பேச்சுவார்த்தை நடத்த தேவையான TLS ஐ நிறுவ அனுமதிக்கவும். factory proxy உரையாடலை எதிர்பார்க்கும்போது endpoint ஐ நேரடியாக events.example உடன் இணைப்பது அந்தப் பங்குகளைக் கலக்கிறது.

WebSocket URL சேவையின் உண்மையான இலக்காகவே இருக்கிறது. அதன் host பெயர் TLS அடையாளத்தையும் வழங்குகிறது; அதை proxy host பெயரால் மாற்றுவது நோக்கமான பாதுகாப்பான சேவையை வடிவமைக்காது.

தொடர்புடைய கட்டுரைகள்