ClientWebSocket-Proxy virum Verbannen astellen
Konfiguréiert en .NET WebSocket-Proxy an seng Umeldungsinformatiounen virum Opbau vun der Verbindung a haalt se getrennt vun den Umeldungsinformatioune vun der Destinatioun.
Konfiguréiert d'Optioune vum ClientWebSocket, ier Dir ConnectAsync opruffe maacht. D'Verbindung als éischt starten an de Proxy duerno zouweisen ass ze spéit fir dësen Handshake.
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);
D'Adressen an d'Kontovariabele sinn illustrativ. Déi néideg Namespaces ëmfaassen System.Net, System.Net.WebSockets an System.Threading. Benotzt de Umeldungsinformatiounstyp an den Authentifikatiounsmecanismus, déi d'Laufzäit, d'Plattform an de Proxy-Service an Ärer Deployement ënnerstëtzen.
D'Umeldungsinformatioune vum WebProxy gehéieren zum Proxy. ClientWebSocketOptions huet och eng separat Credentials-Eegeschaft fir d'Authentifikatioun vum WebSocket-Server. Dat engt zouweisen erfëllt net automatesch déi aner Säit.
Bei enger sécherer WebSocket-Verbindung kann en ofgeleenten Proxy-Tunnel verhënneren, datt den WebSocket-Handshake vun der Destinatioun iwwerhaapt ufänkt. Trennt d'Beweiser fir Proxy-Verbindung an -Authentifikatioun vun der HTTP-Upgrade-Antwert vun der Destinatioun an dem spéideren WebSocket-Trafic.
Eng erfollegräich Verbindung ass just den Ufank vun der Sitzung. Halt d'Annuléiere vum Empfang/Senden an d'Ressourcen-Reinigung iwwer d'Liewensdauer vun der Applikatioun explizit; d'Fräistellung an dësem Skizz ass keng komplett Politik fir all weider Noriicht.