ConnectAsync шақыруынан бұрын ClientWebSocket параметрлерін конфигурациялаңыз. Алдымен қосылымды бастап, содан кейін проксиді тағайындау бұл қол алысу үшін тым кеш.

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

Мекенжайлар мен тіркелгі айнымалылары мысал ретінде берілген. Қажетті ат кеңістіктеріне System.Net, System.Net.WebSockets және System.Threading кіреді. Орналастыруыңызда runtime, платформа және прокси қызметі қолдайтын тіркелгі деректерінің түрін және аутентификация механизмін пайдаланыңыз.

WebProxy тіркелгі деректері проксиге тиесілі. ClientWebSocketOptions-те WebSocket серверінің аутентификациясы үшін бөлек Credentials қасиеті де бар. Біреуін тағайындау екінші тарапты автоматты түрде қанағаттандырмайды.

Қауіпсіз WebSocket қосылымында қабылданбаған прокси туннелі мақсаттың WebSocket қол алысуының басталуына мүлдем кедергі келтіруі мүмкін. Прокси қосылымы мен аутентификация дәлелдерін мақсаттың HTTP upgrade жауабынан және кейінгі WebSocket трафигінен бөліп ұстаңыз.

Сәтті қосылым — сессияның басы ғана. Қабылдау/жіберу бас тартуын және ресурстарды тазалауды қолданбаның бүкіл өмірі бойына айқын ұстаңыз; бұл нобайдағы орнату мерзімі әрбір келесі хабарлама үшін толық саясат емес.

Қатысты мақалалар