കണക്ട് ചെയ്യുന്നതിന് മുമ്പ് 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 എന്നിവ ഉൾപ്പെടുന്നു. നിങ്ങളുടെ വിന്യാസത്തിലെ റൺടൈം, പ്ലാറ്റ്ഫോം, പ്രോക്സി സേവനം എന്നിവ പിന്തുണയ്ക്കുന്ന ക്രെഡൻഷ്യൽ തരവും പ്രാമാണീകരണ സംവിധാനവും ഉപയോഗിക്കുക.
WebProxy ക്രെഡൻഷ്യലുകൾ പ്രോക്സിയുടേതാണ്. WebSocket സെർവറിന്റെ പ്രാമാണീകരണത്തിനായി ClientWebSocketOptions-ന് പ്രത്യേക Credentials പ്രോപ്പർട്ടിയും ഉണ്ട്. ഒന്ന് നൽകുന്നത് മറ്റേ കക്ഷിയെ സ്വയമേവ തൃപ്തിപ്പെടുത്തുന്നില്ല.
സുരക്ഷിത WebSocket കണക്ഷനിൽ, നിരസിക്കപ്പെട്ട പ്രോക്സി ടണൽ ലക്ഷ്യത്തിന്റെ WebSocket ഹാൻഡ്ഷേക്ക് തുടങ്ങുന്നത് തന്നെ തടയാം. പ്രോക്സി കണക്ഷന്റെയും പ്രാമാണീകരണത്തിന്റെയും തെളിവുകൾ ലക്ഷ്യത്തിന്റെ HTTP upgrade പ്രതികരണത്തിൽ നിന്നും തുടർന്നുള്ള WebSocket ട്രാഫിക്കിൽ നിന്നും വേർതിരിക്കുക.
വിജയകരമായ കണക്ഷൻ സെഷന്റെ തുടക്കം മാത്രമാണ്. ആപ്പിന്റെ മുഴുവൻ ആയുസ്സിലും സ്വീകരണ/അയയ്ക്കൽ റദ്ദാക്കലും വിഭവ ശുദ്ധീകരണവും വ്യക്തമായി നിലനിർത്തുക; ഈ സ്കെച്ചിലെ സെറ്റപ്പ് സമയപരിധി ഓരോ തുടർന്നുള്ള സന്ദേശത്തിനും പൂർണ്ണ നയമല്ല.