Angiv ClientWebSocket-proxyen før forbindelse
Konfigurer en .NET WebSocket-proxy og dens legitimationsoplysninger før forbindelsen oprettes, og hold dem adskilt fra destinationens legitimationsoplysninger.
Konfigurer ClientWebSockets indstillinger, før du kalder ConnectAsync. At starte forbindelsen først og tildele proxyen bagefter er for sent for det håndtryk.
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);
Adresserne og kontovariablerne er illustrative. De krævede navnerum omfatter System.Net, System.Net.WebSockets og System.Threading. Brug den legitimations type og godkendelsesmekanisme, som runtime, platform og proxytjeneste understøtter i din udrulning.
Legitimationsoplysningerne for WebProxy tilhører proxyen. ClientWebSocketOptions har også en separat Credentials-egenskab til WebSocket-serverens godkendelse. Tildeling af den ene opfylder ikke automatisk den anden part.
For en sikker WebSocket-forbindelse kan en afvist proxytunnel forhindre, at destinationens WebSocket-håndtryk overhovedet starter. Adskil bevis for proxyforbindelse og godkendelse fra destinationens HTTP upgrade-svar og senere WebSocket-trafik.
En vellykket forbindelse er kun begyndelsen på sessionen. Hold aflysning af modtagelse/send og oprydning af ressourcer eksplicit gennem applikationens levetid; tidsfristen i denne skitse er ikke en fuldstændig politik for hver efterfølgende meddelelse.