يستطيع Qt Network التفاوض على SOCKS5 لمقبس TCP مباشرة. في تطبيق Qt قائم، اضبط المقبس قبل الاتصال:

QNetworkProxy proxy(
    QNetworkProxy::Socks5Proxy,
    "proxy.example.net",
    1080
);

socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);

socket مقبس QTcpSocket قائم. تمثل الوجهة والمنفذ في المثال خدمة TCP الخاصة بالتطبيق. يصل Qt أولاً إلى الوكيل، ثم يطلب منه الاتصال بتلك الوجهة. بالنسبة لخدمة TCP متاحة للعموم يُسمح فيها بوسيط عام، توفر قائمة وكلاء SOCKS5 مرشحين لهذا المثال الذي لا يحتاج إلى حساب وكيل. تأكد من أن المرشح يسمح بمضيف الخدمة الفعلي ومنفذها.

لا تزال إشارات المقبس غير المتزامنة المعتادة سارية: انتظر connected() قبل تبادل بيانات التطبيق، وعالج errorOccurred(). أبقِ كائن المقبس حياً ما دام الاتصال قيد الاستخدام. بالنسبة للشيفرة الحاجزة، استخدم بدلاً من ذلك أساليب الانتظار الموثقة في Qt مع مهلة متعمدة.

يتطلب هذا Qt Network، لا واجهة رسومية مبنية على widgets. الإعداد الصريح يخص هذا المقبس. يمكن للمقابس الأخرى الاحتفاظ بإعدادات تطبيقها الافتراضية أو اختيار وكيل آخر. لجعل هذا المقبس مباشراً، اضبط نوع وكيله على QNetworkProxy::NoProxy قبل الاتصال.

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