Konfigurējiet ClientWebSocket opcijas pirms ConnectAsync izsaukšanas. Vispirms sākt savienojumu un pēc tam piešķirt starpniekserveri ir pārāk vēlu šim rokasspiedienam.

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);

Adreses un konta mainīgie ir ilustratīvi. Nepieciešamās vārdu telpas ietver System.Net, System.Net.WebSockets un System.Threading. Izmantojiet akreditācijas datu tipu un autentifikācijas mehānismu, ko atbalsta izpildlaiks, platforma un starpniekservera pakalpojums jūsu izvietojumā.

WebProxy akreditācijas dati pieder starpniekserverim. ClientWebSocketOptions ir arī atsevišķa Credentials īpašība WebSocket servera autentifikācijai. Viena piešķiršana automātiski neapmierina otru pusi.

Drošam WebSocket savienojumam noraidīts starpniekservera tunelis var neļaut galamērķa WebSocket rokasspiedienam vispār sākties. Atdaliet starpniekservera savienojuma un autentifikācijas pierādījumus no galamērķa HTTP upgrade atbildes un vēlākās WebSocket plūsmas.

Veiksmīgs savienojums ir tikai sesijas sākums. Saglabājiet skaidru saņemšanas/sūtīšanas atcelšanu un resursu tīrīšanu visā lietotnes darbības laikā; šajā skicē minētais iestatīšanas termiņš nav pilnīga politika katram nākamajam ziņojumam.

Saistītie raksti