Angi ClientWebSocket-proxyen før du kobler til
Konfigurer en .NET WebSocket-proxy og dens legitimasjon før tilkoblingen opprettes, og hold dem atskilt fra destinasjonens legitimasjon.
Konfigurer ClientWebSockets alternativer før du kaller ConnectAsync. Å starte tilkoblingen først og tildele proxyen etterpå er for sent for det håndtrykket.
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);
Adressene og kontovariablene er illustrative. De nødvendige navnerommene inkluderer System.Net, System.Net.WebSockets og System.Threading. Bruk legitimasjonstypen og autentiseringsmekanismen som støttes av runtime, plattform og proxytjeneste i distribusjonen din.
Legitimasjonen til WebProxy tilhører proxyen. ClientWebSocketOptions har også en egen Credentials-egenskap for autentisering av WebSocket-serveren. Tildeling av den ene tilfredsstiller ikke automatisk den andre parten.
For en sikker WebSocket-tilkobling kan en avvist proxytunnel hindre at destinasjonens WebSocket-håndtrykk i det hele tatt starter. Skill bevis for proxyforbindelse og autentisering fra destinasjonens HTTP upgrade-svar og senere WebSocket-trafikk.
En vellykket tilkobling er bare begynnelsen på økten. Hold kansellering av mottak/sending og opprydding av ressurser eksplisitt gjennom applikasjonens levetid; fristen i denne skissen er ikke en fullstendig policy for hver påfølgende melding.