Подесите ClientWebSocket прокси пре повезивања
Конфигуришите .NET WebSocket прокси и његове акредитиве пре успостављања везе, држећи их одвојено од акредитива одредишта.
Конфигуришите опције ClientWebSocket пре позива ConnectAsync. Прво започети везу па доделити прокси након тога прекасно је за тај handshake.
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 има и засебно својство Credentials за аутентификацију WebSocket сервера. Додела једног не задовољава аутоматски другу страну.
За сигурну WebSocket везу, одбијени прокси тунел може спречити да handshake WebSocket-а одредишта уопште почне. Одвојите доказе прокси везе и аутентификације од HTTP upgrade одговора одредишта и каснијег WebSocket саобраћаја.
Успешна веза је само почетак сесије. Држите отказивање пријема/слања и чишћење ресурса експлицитним током целог животног века апликације; рок за подешавање у овој скици није потпуна политика за сваку наредну поруку.