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 ఆధారాలు ప్రాక్సీకి చెందుతాయి. ClientWebSocketOptions లో WebSocket సర్వర్ ప్రామాణీకరణ కోసం ప్రత్యేక Credentials లక్షణం కూడా ఉంది. ఒకదాన్ని కేటాయించడం మరొక పక్షాన్ని స్వయంచాలకంగా సంతృప్తిపరచదు.

సురక్షిత WebSocket కనెక్షన్‌లో, తిరస్కరించబడిన ప్రాక్సీ సొరంగం గమ్యం యొక్క WebSocket హ్యాండ్‌షేక్ ప్రారంభం కాకుండానే నిరోధించగలదు. ప్రాక్సీ కనెక్షన్ మరియు ప్రామాణీకరణ సాక్ష్యాలను గమ్యం యొక్క HTTP upgrade ప్రతిస్పందన నుండి మరియు తర్వాతి WebSocket ట్రాఫిక్ నుండి వేరు చేయండి.

విజయవంతమైన కనెక్షన్ సెషన్ ప్రారంభం మాత్రమే. యాప్ యొక్క మొత్తం జీవితకాలంలో స్వీకరణ/పంపిణీ రద్దు మరియు వనరుల శుభ్రతను స్పష్టంగా ఉంచండి; ఈ స్కెచ్‌లోని సెటప్ గడువు ప్రతి తదుపరి సందేశానికి పూర్తి విధానం కాదు.

సంబంధిత వ్యాసాలు