ConnectAsync ඇමතීමට පෙර ClientWebSocket හි විකල්ප වින්‍යාස කරන්න. පළමුව සම්බන්ධතාවය ආරම්භ කර පසුව proxy පැවරීම එම 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);

ලිපින සහ ගිණුම් විචල්‍ය උදාහරණාත්මක ය. අවශ්‍ය namespace වලට System.Net, System.Net.WebSockets සහ System.Threading ඇතුළත් වේ. ඔබේ යෙදවීමේ runtime, වේදිකාව සහ proxy සේවාව සහාය දක්වන අක්තපත්‍ර වර්ගය සහ සත්‍යාපන ක්‍රමය භාවිත කරන්න.

WebProxy අක්තපත්‍ර proxyට අයත් වේ. ClientWebSocketOptions හට WebSocket සේවාදායකයේ සත්‍යාපනය සඳහා වෙනම Credentials ගුණාංගයක් ද ඇත. එකක් පැවරීමෙන් අනෙක් පිරිස ඉබේම තෘප්තිමත් නොවේ.

ආරක්ෂිත WebSocket සම්බන්ධතාවයකදී, ප්‍රතික්ෂේප වූ proxy උමං මගින් ගමනාන්තයේ WebSocket handshake ආරම්භ වීමම වළක්වා ගත හැක. proxy සම්බන්ධතාවයේ සහ සත්‍යාපනයේ සාක්ෂි ගමනාන්තයේ HTTP upgrade ප්‍රතිචාරයෙන් සහ පසුව එන WebSocket ගමනාගමනයෙන් වෙන් කරන්න.

සාර්ථක සම්බන්ධතාවය යනු සැසියේ ආරම්භය පමණි. යෙදුමේ සම්පූර්ණ ආයු කාලය තුළ ලැබීම/යැවීම අවලංගු කිරීම සහ සම්පත් පිරිසිදු කිරීම පැහැදිලිව තබන්න; මෙම කටු සටහනේ ස්ථාපන කාල සීමාව සෑම ඊළඟ පණිවිඩයක් සඳහාම සම්පූර්ණ ප්‍රතිපත්තියක් නොවේ.

අදාළ ලිපි