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.

Ähnlech Artikelen