អានលទ្ធផលប្រូកស៊ី CFNetwork ដោយផ្ទាល់ក្នុង C++
ប្រើ API ស្វែងរកប្រូកស៊ី C របស់ Apple ពី C++ ហើយរក្សាតម្លៃវចនានុក្រមដែលខ្ចីឱ្យនៅរស់ ដោយមិនបញ្ចេញវាជាវត្ថុកម្មសិទ្ធិ។
ការស្វែងរកប្រូកស៊ីរបស់ CFNetwork គឺជា C API ដែលអាចប្រើដោយផ្ទាល់ពី C++។ ការបំប្លែងអ្វីៗទាំងអស់ទៅជាវត្ថុ Objective-C គឺស្រេចចិត្ត។ ហៅ CFNetworkCopyProxiesForURL ជាមួយ CFURL គោលដៅ និងការកំណត់ពី CFNetworkCopySystemProxySettings ដើម្បីទទួលបានវចនានុក្រមប្រូកស៊ីតាមលំដាប់។
| តម្លៃ | កម្មសិទ្ធិ |
|---|---|
| វត្ថុដែលបង្កើត ឬត្រឡប់ដោយ Copy រួមទាំងផ្លូវ និងការកំណត់ | ជាកម្មសិទ្ធិរបស់អ្នកហៅ; បញ្ចេញវត្ថុកម្មសិទ្ធិមិនមែន null នីមួយៗ |
| វចនានុក្រមពីអារេ ឬឈ្មោះម៉ាស៊ីនពីវចនានុក្រមតាមរយៈ Get | ខ្ចី; កុំបញ្ចេញដោយមិនរក្សាទុកវាជាមុន |
សម្រាប់ routes ត្រឹមត្រូវ និងសន្ទស្សន៍ក្នុងជួរ ការដកស្រង់អាចជា៖
CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
CFDictionaryGetValue(proxy, kCFProxyHostNameKey));
អាន kCFProxyTypeKey មុនពេលចាត់ទុកធាតុជាចំណុចបញ្ចប់។ បេក្ខជនផ្ទាល់ និងបេក្ខជនកំណត់រចនាសម្ព័ន្ធស្វ័យប្រវត្តិត្រូវការការដោះស្រាយខុសគ្នា.
បំប្លែងឈ្មោះម៉ាស៊ីន CFString និងច្រក CFNumber នៃធាតុជាក់លាក់ ខណៈម្ចាស់នៅរស់។ តម្លៃ C++ ដែលដកស្រង់បានអាចចូលក្នុងការកំណត់រចនាសម្ព័ន្ធរបស់ការដឹកជញ្ជូន។ ដើម្បីរក្សា CFString ខ្លួនវាបន្ទាប់ពីលទ្ធផល សូមរក្សាវាជាមុន ហើយក្រោយមកធ្វើឱ្យសមតុល្យជាមួយ CFRelease។ បើមិនដូច្នេះទេ បញ្ចប់មុនពេលបញ្ចេញម្ចាស់ដែលផ្ទុកវា។
ពេលសម្អាត សូមបញ្ចេញ URL គោលដៅដែលបង្កើត/ចម្លង វចនានុក្រមការកំណត់ និងអារេលទ្ធផល ដោយប្រើឆ្មាំវិសាលភាពបើសមស្រប។ ប្រភេទ CFStringRef របស់អថេរតែម្នាក់ឯងមិនផ្តល់កម្មសិទ្ធិលើលទ្ធផល Get ទេ។