Туташуудан мурун ClientWebSocket проксиин орнотуңуз
Байланышты орнотуудан мурун .NET WebSocket проксиин жана анын эсептик маалыматтарын конфигурациялаңыз, аларды максаттын эсептик маалыматтарынан өзүнчө кармаңыз.
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 трафигинен бөлүңүз.
Ийгиликтүү байланыш — сессиянын башталышы гана. Кабыл алуу/жөнөтүү жокко чыгарылышын жана ресурстарды тазалоону колдонмонун бүт өмүрү бою так кармаңыз; бул эскиздеги орнотуу мөөнөтү ар бир кийинки билдирүү үчүн толук саясат эмес.