Autobahn Twisted WSS نى HTTP ۋاكالەتچى ئارقىلىق ئۇلاش
connectWS نىڭ ۋاكالەتچى ئاخىرلاشقۇچى نۇقتىسى ۋە كېيىنكى نىشان TLS نى ماسلاشتۇرۇشىغا يول قويۇڭ، ۋاكالەتچىنى تونۇيدىغان زاۋۇتنىڭ يېنىدا بىۋاسىتە ئاخىرلاشقۇچى نۇقتا ئېچىشنىڭ ئورنىغا.
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 پروتوكولى تۈرىدۇر. Reactor ۋە ئۇلىنىش تازىلاشنى شۇ ئەپلىكىتسىيەنىڭ ھايات دەۋرىدە ساقلاڭ. ئاممىۋى ۋاسىتىچى ئارقىلىق رۇخسەت قىلىنغان ئاممىۋى WSS مۇلازىمىتى ئۈچۈن، HTTP ۋاكالەتچى تىزىملىكى زاۋۇتنىڭ ۋاكالەتچى ساھىبى ۋە پورتى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ.
ۋاكالەتچى بىلەن سەپلەنگەن زاۋۇت ئۈچۈن، connectWS TCP نى ۋاكالەتچىگە ئۇلايدۇ ۋە كېيىنكى بىخەتەر ئۇلىنىش ئۈچۈن نىشان TLS مۇھىتىنى ساقلايدۇ. ئۇ دەسلەپتە ئادەتتىكى HTTP ۋاكالەتچى ئۇلىنىشىنى نىشان TLS بىلەن چىرمىمايدۇ.
ئىختىيارىي HostnameEndpoint ۋە ClientService تەرتىپى ئوخشاش بۆلۈنۈشنى ساقلىشى كېرەك: ئالدى بىلەن ۋاكالەتچىگە ئۇلىنىڭ، ئاندىن سەپلەنگەن زاۋۇتقا نىشان بىلەن سۆھبەتلىشىش ۋە زۆرۈر TLS نى قۇرۇشقا يول قويۇڭ. زاۋۇت ۋاكالەتچى سۆھبىتىنى كۈتۈۋاتقاندا ئاخىرلاشقۇچى نۇقتىنى بىۋاسىتە events.example غا ئۇلاش بۇ روللارنى ئارىلاشتۇرىدۇ.
WebSocket URL مۇلازىمەتنىڭ ھەقىقىي نىشانى بولۇپ قالىدۇ. ئۇنىڭ ساھىب ئىسمى TLS كىملىكىنىمۇ تەمىنلەيدۇ؛ ئۇنى ۋاكالەتچىنىڭ ساھىب ئىسمى بىلەن ئالماشتۇرۇش مەقسەت قىلىنغان بىخەتەر مۇلازىمەتنى سەپلىمەيدۇ.