اضبط خيارات ClientWebSocket قبل استدعاء ConnectAsync. بدء الاتصال أولًا ثم تعيين الوكيل بعد ذلك متأخر جدًا على ذلك التصافح.

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 أيضًا خاصية Credentials منفصلة لمصادقة خادم WebSocket. تعيين إحداهما لا يلبّي تلقائيًا الطرف الآخر.

في اتصال WebSocket آمن، قد يمنع نفق وكيل مرفوض بدء تصافح WebSocket للوجهة أصلًا. افصل أدلة اتصال الوكيل ومصادقته عن استجابة ترقية HTTP من الوجهة وعن حركة WebSocket اللاحقة.

الاتصال الناجح ليس إلا بداية الجلسة. أبقِ إلغاء الاستقبال/الإرسال وتنظيف الموارد صريحين طوال عمر التطبيق؛ مهلة الإعداد في هذا المخطط ليست سياسة كاملة لكل رسالة لاحقة.

مقالات ذات صلة