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 ያድርጉ።

ተዛማጅ ጽሑፎች