में कैसे एकीकृत कर सकता हूं, मैं वर्तमान में पहली बार कुछ सरल टीसीपी नेटवर्किंग के लिए boost :: asio का उपयोग करने की कोशिश कर रहा हूं, और मैं पहले से ही कुछ आया है, मुझे सच में यकीन नहीं है कि कैसे निपटना है। जहां तक मैं समझता हूं कि io_service.run() विधि मूल रूप से एक लूप होता है जो तब तक चलता है जब तक कि कुछ और करने के लिए बाएं नहीं होता है, जिसका अर्थ है कि यह तब तक चलता रहेगा जब तक कि मैं अपना छोटा सर्वर ऑब्जेक्ट जारी नहीं करता। चूंकि मुझे पहले से ही कुछ प्रकार का मेनलोप सेट अप मिला है, इसलिए मैं सादगी के लिए मैन्युअल रूप से नेटवर्किंग लूप को मैन्युअल रूप से अपडेट करना चाहता हूं, और मुझे लगता है कि io_service.poll() जो मैं चाहता हूं वह करूंगा, इस प्रकार की तरह:बूस्ट :: Asio: io_service.run() बनाम पोल() या मैं बूस्ट :: एएसओ को मुख्यलोप
void myApplication::update()
{
myIoService.poll();
//do other stuff
}
ऐसा लगता है, लेकिन मुझे अभी भी आश्चर्य है कि इस विधि से कोई कमी है क्योंकि यह boost :: asios io सेवाओं से निपटने का सामान्य तरीका प्रतीत नहीं होता है। क्या यह एक वैध दृष्टिकोण है या मुझे एक गैर अवरोधक अतिरिक्त थ्रेड में io_service.run() का उपयोग करना चाहिए?
'io_service'' io_service :: poll' लौटने के बाद जरूरी नहीं है। बाद में 'io_service :: run' या 'io_service: poll' से पहले' io_service :: reset' की आवश्यकता क्यों है? – updogliu