कनेक्ट करण्यापूर्वी 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 च्या क्रेडेन्शियल्स प्रॉक्सीच्या असतात. ClientWebSocketOptions मध्ये WebSocket सर्व्हरच्या प्रमाणीकरणासाठी वेगळा Credentials गुणधर्मही आहे. एक नेमल्याने दुसरी बाजू आपोआप समाधानी होत नाही.
सुरक्षित WebSocket कनेक्शनमध्ये, नाकारलेली प्रॉक्सी टनेल गंतव्याचा WebSocket हॅंडशेक सुरू होण्यापासूनच रोखू शकते. प्रॉक्सी कनेक्शन आणि प्रमाणीकरणाचे पुरावे गंतव्याच्या HTTP upgrade प्रतिसादापासून आणि नंतरच्या WebSocket रहदारीपासून वेगळे ठेवा.
यशस्वी कनेक्शन ही फक्त सत्राची सुरुवात आहे. ॲपच्या संपूर्ण आयुष्यभर प्राप्ती/प्रेषण रद्दीकरण आणि संसाधन स्वच्छता स्पष्ट ठेवा; या स्केचमधील सेटअप मुदत प्रत्येक पुढील संदेशासाठी संपूर्ण धोरण नाही.