2010-06-08 5 views
13

मैं जब एक SSL_write प्रयास कर निम्न त्रुटि मिल रहे:क्यों मैं ": 1409F07F: एसएसएल दिनचर्या: SSL3_WRITE_PENDING बुरा लिखने पुन: प्रयास करें त्रुटि" मिल रहा है?

error:1409F07F:SSL routines:SSL3_WRITE_PENDING: bad write retry

+0

को एकीकृत अरे आप आप अपने जवाब से सवाल है, तो अगर आपको लगता है यह सही है आप अपने खुद के जवाब स्वीकार कर सकते हैं अलग कर सकते हैं। विचार के लिए आपकी टिप – Matias

+0

थैंक्स के लिए धन्यवाद, जैसा आपने सुझाव दिया था, मैंने किया 10x! –

उत्तर

22

कारण बहुत सरल है: जब SSL_Write SSL_ERROR_WANT_WRITE या SSL_ERROR_WANT_READ साथ देता है, तो आप फिर से कॉल सटीक एक ही मानकों के साथ SSL_write को दोहराने के लिए, के बाद है स्थिति संतुष्ट है (सॉकेट पर उपलब्ध/पढ़ें)।

विभिन्न मापदंडों के साथ यह कॉलिंग, 1409F07F बुरा लिखने पुन: प्रयास करें त्रुटि निकलेगा।

उदाहरण के लिए, जब SSL_write (एसएसएल, ptr, आकार) ptr = 0xABCDEFGH, आकार के साथ = 4096 SSL_ERROR_WANT_READ या SSL_ERROR_WANT_WRITE, के साथ विफल जब पुन: प्रयास SSL_write कॉल, मानकों ptr और आकार ही होना चाहिए। यह बराबर नहीं है अगर पीआरटी एक और सूचक है जो मूल कॉल में समान सामग्री की एक प्रति को इंगित करता है।

हालांकि SSL_write का यह डिफ़ॉल्ट व्यवहार SSL_MODE_ENABLE_PARTIAL_WRITE और/या SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER सेट करके बदला जा सकता है। स्पष्ट टिप्पणी के लिए @ShriramV के लिए


धन्यवाद, इस सवाल का जवाब

+1

आप ellbaorate कृपया उदाहरण के लिए 10x – codersofthedark

+0

@dragonsupercool कर सकते हैं यदि आप लक्ष्य बफर एक्स के साथ पहली SSL_write ऑफसेट Y और आकार जेड, आप सभी मापदंडों के लिए एक ही मूल्यों के साथ फिर से कॉल करना होगा, लिखने आपरेशन के रूप में जहां यह बाएं से फिर से शुरू करने का प्रयास करेंगे बंद (या ऐसा कुछ, यह वह जगह है जहां मेरा ज्ञान समाप्त होता है; पी) –

+0

@ प्रवेश - इसका कोई मतलब नहीं है। आप कह रहे हैं यदि आप डेटा के 500 बाइट्स के साथ SSL_write फोन और यह (और कहा कि यह केवल 100 बाइट्स भेजा) 100 देता है, SSL_ERROR_WANT_READ की गलत कोड के साथ, आप इसके साथ पहले से ही है और साथ ही 100 बाइट्स भेजा फिर से कॉल करने के लिए है कि शेष 400 बाइट्स? –

संबंधित मुद्दे