د 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 پیژندنه هم برابروي؛ د پروکسي کوربه نوم سره یې بدلول غوښتل شوی خوندي خدمت نه تنظیموي.

اړوندې مقالې