A ClientWebSocket proxyjának beállítása csatlakozás előtt
Konfigurálja a .NET WebSocket proxyját és annak hitelesítő adatait a kapcsolat létrehozása előtt, és tartsa azokat elkülönítve a cél hitelesítő adataitól.
A ConnectAsync meghívása előtt konfigurálja a ClientWebSocket beállításait. Előbb elindítani a kapcsolatot, majd utána hozzárendelni a proxyt túl késő ehhez a kézfogáshoz.
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);
A címek és a fiókváltozók szemléltetőek. A szükséges névterek: System.Net, System.Net.WebSockets és System.Threading. Használja azt a hitelesítőadat-típust és hitelesítési mechanizmust, amelyet a futtatókörnyezet, a platform és a proxy szolgáltatás támogat az üzemeltetésében.
A WebProxy hitelesítő adatai a proxyhoz tartoznak. A ClientWebSocketOptions-nak külön Credentials tulajdonsága is van a WebSocket-kiszolgáló hitelesítéséhez. Az egyik hozzárendelése nem elégíti ki automatikusan a másik felet.
Biztonságos WebSocket-kapcsolatnál egy elutasított proxyalagút megakadályozhatja, hogy a cél WebSocket-kézfogása egyáltalán elkezdődjön. Válassza külön a proxykapcsolat és -hitelesítés bizonyítékait a cél HTTP upgrade válaszától és a későbbi WebSocket-forgalomtól.
A sikeres kapcsolat csak a munkamenet kezdete. Tartsa explicit módon a fogadás/küldés megszakítását és az erőforrások tisztítását az alkalmazás teljes élettartama alatt; a vázlatban szereplő beállítási határidő nem teljes szabályzat minden további üzenethez.