Set ClientWebSocket-proxyen før du koplar til
Konfigurer ein .NET WebSocket-proxy og legitimasjonen hans før tilkoplinga blir oppretta, og hald dei åtskilde frå legitimasjonen til destinasjonen.
Konfigurer alternativa til ClientWebSocket før du kallar ConnectAsync. Å starte tilkoplinga først og tildele proxyen etterpå er for seint for den handhelsinga.
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 kontovariablane er illustrative. Dei nødvendige namneromma omfattar System.Net, System.Net.WebSockets og System.Threading. Bruk legitimasjonstypen og autentiseringsmekanismen som blir støtta av runtime, plattform og proxyteneste i distribusjonen din.
Legitimasjonen til WebProxy høyrer til proxyen. ClientWebSocketOptions har òg ein eigen Credentials-eigenskap for autentisering av WebSocket-tenaren. Tildeling av den eine tilfredsstiller ikkje automatisk den andre parten.
For ei sikker WebSocket-tilkopling kan ein avvist proxytunnel hindre at WebSocket-handhelsinga til destinasjonen i det heile startar. Skil bevis for proxyforbindelse og autentisering frå HTTP upgrade-svaret til destinasjonen og seinare WebSocket-trafikk.
Ei vellukka tilkopling er berre byrjinga på økta. Hald avbryting av mottak/sending og opprydding av ressursar eksplisitt gjennom heile levetida til applikasjonen; fristen i denne skissa er ikkje ein fullstendig policy for kvar påfølgjande melding.