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 ಗೆ ಹೊಂದಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು