Stel ClientWebSocket se proxy voordat jy verbind
Konfigureer 'n .NET WebSocket-proxy en sy geloofsbriewe voor die verbinding opgestel word, en hou dit apart van die bestemming se geloofsbriewe.
Konfigureer ClientWebSocket se opsies voordat jy ConnectAsync aanroep. Om eers die verbinding te begin en die proxy daarna toe te wys, is te laat vir daardie handdruk.
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);
Die adresse en rekeningveranderlikes is illustratief. Die vereiste naamruimtes sluit System.Net, System.Net.WebSockets en System.Threading in. Gebruik die geloofsbrief-tipe en verifikasiemeganisme wat deur die runtime, platform en proxy-diens in jou ontplooiing ondersteun word.
Die WebProxy-geloofsbriewe behoort aan die proxy. ClientWebSocketOptions het ook 'n aparte Credentials-eienskap vir die WebSocket-bediener se verifikasie. Om die een toe te wys, bevredig nie outomaties die ander party nie.
Vir 'n beveiligde WebSocket-verbinding kan 'n verwerpte proxy-tonnel verhoed dat die bestemming se WebSocket-handdruk hoegenaamd begin. Skei proxyverbinding- en verifikasiebewyse van die bestemming se HTTP-opgraderingsantwoord en latere WebSocket-verkeer.
'n Suksesvolle verbinding is net die begin van die sessie. Hou ontvang-/stuur-kansellasie en hulpbronopruiming eksplisiet vir die toepassing se leeftyd; die opsteltydperk in hierdie skets is nie 'n volledige beleid vir elke daaropvolgende boodskap nie.