Наладзьце проксі ClientWebSocket да падключэння
Наладзьце .NET WebSocket проксі і яго ўліковыя даныя да ўсталявання злучэння, трымаючы іх асобна ад уліковых даных прызначэння.
Наладзьце параметры ClientWebSocket да выкліку ConnectAsync. Спачатку пачаць злучэнне, а потым прызначыць проксі — гэта запозна для такога рукапаціскання.
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. Выкарыстоўвайце тып уліковых даных і механізм аўтэнтыфікацыі, якія падтрымліваюцца асяроддзем выканання, платформай і службай проксі ў вашым разгортванні.
Уліковыя даныя WebProxy належаць проксі. ClientWebSocketOptions таксама мае асобную ўласцівасць Credentials для аўтэнтыфікацыі сервера WebSocket. Прызначэнне аднаго не задавальняе аўтаматычна іншы бок.
Для бяспечнага злучэння WebSocket адхілены тунель проксі можа перашкодзіць пачатку рукапаціскання WebSocket прызначэння. Аддзяляйце сведчанні злучэння і аўтэнтыфікацыі проксі ад адказу HTTP upgrade прызначэння і наступнага трафіку WebSocket.
Паспяховае злучэнне — толькі пачатак сеансу. Трымайце адмену прыёму/адпраўкі і ачыстку рэсурсаў яўнымі на працягу ўсяго жыцця праграмы; тэрмін наладкі ў гэтым накідзе не з'яўляецца поўнай палітыкай для кожнага наступнага паведамлення.