Qoşulmadan əvvəl ClientWebSocket proxy-sini təyin edin
.NET WebSocket proxy-sini və onun kimlik məlumatlarını bağlantı qurulmazdan əvvəl konfiqurasiya edin və hədəfin kimlik məlumatlarından ayrı saxlayın.
ConnectAsync çağırışından əvvəl ClientWebSocket parametrlərini konfiqurasiya edin. Əvvəlcə bağlantını başladıb proxy-ni sonra təyin etmək o handshake üçün gecdir.
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);
Ünvanlar və hesab dəyişənləri nümunədir. Tələb olunan ad məkanlarına System.Net, System.Net.WebSockets və System.Threading daxildir. Yerləşdirmənizdə runtime, platforma və proxy xidmətinin dəstəklədiyi etimad növündən və autentifikasiya mexanizmindən istifadə edin.
WebProxy etimadları proxy-yə aiddir. ClientWebSocketOptions-un WebSocket serverinin autentifikasiyası üçün ayrıca Credentials xassəsi də var. Birini təyin etmək digər tərəfi avtomatik təmin etmir.
Təhlükəsiz WebSocket bağlantısı üçün rədd edilmiş proxy tuneli hədəfin WebSocket handshake-inin ümumiyyətlə başlamasına mane ola bilər. Proxy bağlantısı və autentifikasiya dəlillərini hədəfin HTTP yüksəltmə cavabından və sonrakı WebSocket trafikindən ayırın.
Uğurlu bağlantı yalnız sessiyanın başlanğıcıdır. Qəbul/göndərmə ləğvini və resurs təmizliyini tətbiqin ömrü boyu açıq saxlayın; bu eskizdəki quraşdırma müddəti hər sonrakı mesaj üçün tam siyasət deyil.