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