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.

Artikli relatati