Qt Network کسی TCP ساکٹ کے لیے SOCKS5 براہِ راست طے کر سکتا ہے۔ موجودہ 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 پر مبنی GUI نہیں۔ یہ واضح ترتیب اسی ساکٹ کی ہے۔ دوسرے ساکٹ ایپلیکیشن کی طے شدہ قدریں رکھ سکتے ہیں یا کوئی اور پراکسی منتخب کر سکتے ہیں۔ اس ساکٹ کو براہِ راست بنانے کے لیے، جڑنے سے پہلے اس کی پراکسی قسم QNetworkProxy::NoProxy مقرر کریں۔

متعلقہ مضامین