को बढ़ावा नहीं देता है, मैं ओपनएसएसएल 1.0.1e के साथ बूस्ट 1.54.0 का उपयोग कर रहा हूं।एसएसएल async_shutdown समापन हैडलर को
समय-समय पर एसएसएल कनेक्शन ऑब्जेक्ट को बंद करते समय मुझे लगता है कि async_shutdown() के समापन हैंडलर को नहीं कहा जाता है।
डीबगिंग के बाद मुझे पता चला कि यह तब होता है जब async_write() बाहर निकलता है।
एसएसएल async_shutdown() एसएसएल अलर्ट (समापन) भेजना चाहिए, इस प्रकार हमारे पास 2 लिखते हैं। मुझे पता है कि एकाधिक async_write() के वर्जित हैं।
मुझे स्थिति को कैसे संभालना चाहिए? क्या मुझे SSL async_shutdown() को कॉल करने से पहले async_write() पूर्णता की प्रतीक्षा करनी चाहिए?
संपादित: this के अनुसार मैं शायद() सभी बकाया async-कार्यवाही रद्द करना रद्द अंतर्निहित TCP सॉकेट पर की जरूरत है। क्या यह सही है?
संपादित मैं हर समय async_ एपीआई का उपयोग कर रहा है, मैं shutdown()
कॉल कर सकते हैं या मैं async_shutdown()
कॉल करना होगा?
समस्या क्या थी और वास्तव में आपके कोड में क्या ठीक हुआ? क्या यह pSocket-> next_layer() है। रद्द करें()? – dimba
यह कुछ समय पहले था, लेकिन मुझे विश्वास है कि जब मैं रद्द विधि कहलाता हूं तो समस्या दूर हो गई। मेरे पास एक बहु-थ्रेडिंग समस्या भी थी, इसलिए मैंने कोड को थ्रेडेड किया। –
अभी भी काम नहीं कर रहा है। – dimba