Qt Network អាចចរចា SOCKS5 ដោយផ្ទាល់សម្រាប់ TCP socket។ នៅក្នុងកម្មវិធី Qt ដែលមានស្រាប់ កំណត់ socket មុនពេលភ្ជាប់៖

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

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

socket គឺជា QTcpSocket ដែលមានស្រាប់។ គោលដៅ និងច្រកនៃឧទាហរណ៍តំណាងឱ្យសេវា TCP របស់កម្មវិធី។ Qt ឈានដល់ proxy ជាមុន បន្ទាប់មកស្នើឱ្យវាភ្ជាប់ទៅគោលដៅនោះ។ សម្រាប់សេវា TCP ដែលអាចចូលបានជាសាធារណៈ ដែលអនុញ្ញាតឱ្យមានអន្តរការីសាធារណៈ បញ្ជី proxy SOCKS5 ផ្តល់បេក្ខជនសម្រាប់ឧទាហរណ៍ដែលមិនមានគណនី proxy នេះ។ បញ្ជាក់ថាបេក្ខជនអនុញ្ញាត host និងច្រកពិតប្រាកដរបស់សេវា។

សញ្ញា socket អសមកាលធម្មតានៅតែអនុវត្ត៖ រង់ចាំ connected() មុនពេលផ្លាស់ប្តូរទិន្នន័យកម្មវិធី ហើយដោះស្រាយ errorOccurred()។ រក្សា object socket ឱ្យរស់នៅពេលការតភ្ជាប់កំពុងប្រើ។ សម្រាប់កូដដែលរារាំង សូមប្រើវិធីសាស្ត្ររង់ចាំដែលបានឯកសាររបស់ Qt ជាមួយពេលវេលាកំណត់ដោយចេតនាជំនួសវិញ។

នេះត្រូវការ Qt Network មិនមែន GUI ដែលផ្អែកលើ widgets ទេ។ ការកំណត់ច្បាស់លាស់ជារបស់ socket នេះ។ socket ផ្សេងទៀតអាចរក្សាតម្លៃលំនាំដើមរបស់កម្មវិធី ឬជ្រើស proxy ផ្សេង។ ដើម្បីធ្វើឱ្យ socket ពិសេសនេះផ្ទាល់ កំណត់ប្រភេទ proxy របស់វាទៅ QNetworkProxy::NoProxy មុនពេលភ្ជាប់។

អត្ថបទពាក់ព័ន្ធ