Nastavte proxy ClientWebSocket před připojením
Nakonfigurujte proxy .NET WebSocket a jeho přihlašovací údaje před navázáním připojení a udržujte je oddělené od údajů cíle.
Nakonfigurujte možnosti ClientWebSocket před voláním ConnectAsync. Nejprve zahájit připojení a potom přiřadit proxy je pro toto handshake příliš pozdě.
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);
Adresy a proměnné účtu jsou ilustrativní. Požadované obory názvů zahrnují System.Net, System.Net.WebSockets a System.Threading. Použijte typ přihlašovacích údajů a mechanismus ověřování, které podporují runtime, platforma a proxy služba ve vašem nasazení.
Přihlašovací údaje WebProxy patří proxy. ClientWebSocketOptions má také samostatnou vlastnost Credentials pro ověřování serveru WebSocket. Přiřazení jedněch automaticky neuspokojí druhou stranu.
U zabezpečeného připojení WebSocket může odmítnutý tunel proxy zabránit tomu, aby handshake WebSocket cíle vůbec začal. Oddělte důkazy o připojení a ověření proxy od odpovědi HTTP upgrade cíle a pozdějšího provozu WebSocket.
Úspěšné připojení je jen začátek relace. Udržujte zrušení příjmu/odesílání a čištění prostředků explicitní po celou dobu životnosti aplikace; lhůta pro nastavení v tomto náčrtu není úplná politika pro každou další zprávu.