Iphuzu lokugcina le-Twisted lenza ukuxhumana kwe-TCP. Ifektri ye-WebSocket elungiselelwe ukuxoxisana nge-proxy isadinga lelo phuzu lokugcina ukuze ixhumane nomlamuli.

Ngohlelo lokusebenza lwe-Autobahn olukhona olusebenzisa umsizi walo ojwayelekile:

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,
)

I-ApplicationProtocol iyikilasi lephrothokholi ye-WebSocket ekhona yohlelo. Gcina i-reactor nokuhlanza ukuxhumana phakathi komjikelezo wempilo yalolo hlelo. Ngenkonzo yomphakathi ye-WSS evunyelwe ngomlamuli womphakathi, uhlu lwe-HTTP proxy lunikeza abantu abangaba yizingcitshane ze-host ne-port ye-proxy yefektri.

Efektri elungiselelwe nge-proxy, i-connectWS ixhumanisa i-TCP ne-proxy futhi igcina umongo we-TLS wendawo ukuze kube nokuxhumana okuphephile kamuva. Ekuqaleni ayisongi ukuxhumana okujwayelekile kwe-HTTP proxy ku-TLS yendawo.

Ukuhlelwa okwezifiso kwe-HostnameEndpoint ne-ClientService kufanele kugcine ukwehlukaniswa okufanayo: xhuma ku-proxy kuqala, bese uvumela ifektri elungisiwe ukuba ixoxisane nomgomo futhi isungule i-TLS edingekayo. Ukuxhumanisa iphuzu lokugcina ngqo ne-events.example ngesikhathi ifektri yalo ilindele ingxoxo ye-proxy kuhlanganisa lezo zindima.

I-URL ye-WebSocket ihlala iyindawo yangempela yesevisi. Igama layo le-host linikeza futhi ubunikazi be-TLS; ukulishintsha ngegama le-host ye-proxy akulungiseleli isevisi ephephile ehlosiwe.

Izihloko ezihlobene