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 સેટ કરો.

સંબંધિત લેખો