Issettja l-proxy ta' ClientWebSocket qabel ma tikkonnettja
Ikkonfigura proxy .NET WebSocket u l-kredenzjali tiegħu qabel it-twaqqif tal-konnessjoni, filwaqt li żżommhom separati mill-kredenzjali tad-destinazzjoni.
Ikkonfigura l-għażliet ta' ClientWebSocket qabel ma ssejjaħ ConnectAsync. Tibda l-konnessjoni l-ewwel u mbagħad tassenja l-proxy wara huwa tard wisq għal dik il-handshake.
using var socket = new ClientWebSocket();
socket.Options.Proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(20));
await socket.ConnectAsync(new Uri("wss://example.com/socket"),
deadline.Token);
L-indirizzi u l-varjabbli tal-kont huma illustrattivi. In-namespaces meħtieġa jinkludu System.Net, System.Net.WebSockets u System.Threading. Uża t-tip ta' kredenzjali u l-mekkaniżmu ta' awtentikazzjoni li huma appoġġjati mir-runtime, mill-pjattaforma u mis-servizz tal-proxy fl-implimentazzjoni tiegħek.
Il-kredenzjali ta' WebProxy jappartjenu lill-proxy. ClientWebSocketOptions għandu wkoll proprjetà Credentials separata għall-awtentikazzjoni tas-server WebSocket. L-assenjazzjoni ta' waħda ma tissodisfax awtomatikament lill-parti l-oħra.
Għal konnessjoni WebSocket sigura, tunnel tal-proxy miċħud jista' jipprevjeni l-handshake WebSocket tad-destinazzjoni milli jibda għal kollox. Issepara l-evidenza tal-konnessjoni u l-awtentikazzjoni tal-proxy mir-risposta HTTP upgrade tad-destinazzjoni u mit-traffiku WebSocket sussegwenti.
Konnessjoni b'suċċess hija biss il-bidu tas-sessjoni. Żomm il-kanċellazzjoni tar-riċeviment/trażmissjoni u t-tindif tar-riżorsi espliċiti għall-ħajja kollha tal-applikazzjoni; l-iskadenza tat-twaqqif f'dan l-abbozz mhijiex politika sħiħa għal kull messaġġ sussegwenti.