Ulanishdan oldin ClientWebSocket proksisini o'rnating
Ulanish o'rnatilishidan oldin .NET WebSocket proksisi va uning hisob ma'lumotlarini sozlang, ularni manzil hisob ma'lumotlaridan alohida saqlang.
ConnectAsync chaqiruvidan oldin ClientWebSocket parametrlarini sozlang. Avval ulanishni boshlab, keyin proksini tayinlash bu qo'l siqish uchun juda kech.
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);
Manzillar va hisob o'zgaruvchilari misol sifatida berilgan. Kerakli nomlar fazosiga System.Net, System.Net.WebSockets va System.Threading kiradi. Joylashtirishingizda runtime, platforma va proksi xizmati qo'llab-quvvatlaydigan hisob ma'lumotlari turi va autentifikatsiya mexanizmidan foydalaning.
WebProxy hisob ma'lumotlari proksiga tegishli. ClientWebSocketOptions'da WebSocket serveri autentifikatsiyasi uchun alohida Credentials xossasi ham bor. Birini tayinlash ikkinchi tomonni avtomatik qanoatlantirmaydi.
Xavfsiz WebSocket ulanishida rad etilgan proksi tunneli manzilning WebSocket qo'l siqishini umuman boshlanmasligiga to'sqinlik qilishi mumkin. Proksi ulanishi va autentifikatsiya dalillarini manzilning HTTP upgrade javobidan va keyingi WebSocket trafigidan ajratib turing.
Muvaffaqiyatli ulanish faqat sessiyaning boshlanishi. Qabul qilish/yuborishni bekor qilish va resurslarni tozalashni ilova butun umri davomida aniq saqlang; bu eskizdagi sozlash muddati har bir keyingi xabar uchun to'liq siyosat emas.