ProxyAgent អាចតភ្ជាប់យ៉ាងលឿន ហើយបន្ទាប់មករង់ចាំតួឆ្លើយតបដោយគ្មានកំណត់។ ពេលវេលាកំណត់នៃការតភ្ជាប់របស់ចំណុចចុងក្រោយ proxy មិនពិពណ៌នាការរង់ចាំនៅពេលក្រោយនោះទេ។

កំណត់ដែនកំណត់តភ្ជាប់នៅលើចំណុចចុងក្រោយ នៅពេលអ្នកសាងសង់ភ្នាក់ងារ។ សម្រាប់សំណើ HTTP សាធារណៈខាងក្រោម បេក្ខជនដែលមិនបានផ្ទៀងផ្ទាត់ពី បញ្ជី proxy HTTP អាចជំនួសអាសយដ្ឋាន ប្រសិនបើអនុញ្ញាតឱ្យមានអន្តរការីសាធារណៈ៖

endpoint = TCP4ClientEndpoint(reactor, 'proxy.example', 8080,
                              timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)

សម្រាប់ឆ្លើយតបតូចដែលអ្នកមានបំណងប្រមូលក្នុងអង្គចងចាំ សូមបញ្ចូលការអានតួក្នុងខ្សែ Deferred មុនពេលបន្ថែមកាលកំណត់៖

from twisted.web.client import readBody

d = agent.request(b'GET', b'http://example.com/')
d.addCallback(readBody)
d.addTimeout(10, reactor)
d.addCallback(lambda body: print(len(body)))
d.addErrback(lambda failure: print(failure.getErrorMessage()))

ផ្នែកនេះសន្មតថាកម្មវិធីមាន reactor និងភ្នាក់ងារដែលបានកំណត់រួចហើយ។ Deferred នៃសំណើរបស់ ProxyAgent ផ្តល់វត្ថុឆ្លើយតប; readBody ត្រឡប់ Deferred សម្រាប់តួ។ ការត្រឡប់វាពី callback ធ្វើឱ្យខ្សែរង់ចាំប្រតិបត្តិការនោះផងដែរ។

ទីតាំងមានសារៈសំខាន់។ Twisted អនុវត្ត addTimeout លើការងារដែលតំណាងដោយ callback ដែលបានដំឡើងមុនវា។ ការបន្ថែមអ្នកអានតួនៅពេលក្រោយនឹងពិពណ៌នាព្រំដែនខុសគ្នា។ ក្នុងការរៀបចំនេះ កម្មវិធីកំណត់ពេលចាប់ផ្តើមនៅពេល addTimeout ត្រូវបានហៅ ហើយគ្របដណ្តប់សំណើដែលកំពុងរង់ចាំ និងការងារតួក្នុងខ្សែនោះ។

ប្រើអ្នកប្រើប្រាស់ស្ទ្រីមសម្រាប់តួធំ ឬគ្មានដែនកំណត់ ហើយតំណាងការបញ្ចប់របស់វាតាមរបៀបដូចគ្នា។ កាលកំណត់ខាងអតិថិជនកំណត់រយៈពេលដែលកម្មវិធីរបស់អ្នករង់ចាំ; វាមិនកំណត់រចនាសម្ព័ន្ធឡើងវិញនូវពេលវេលាកំណត់តភ្ជាប់ឡើងលើរបស់ proxy ខ្លួនឯងទេ។

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