जब मैं एक टीसीपी स्ट्रीम पर एक संदेश भेजता हूं()/लिखता हूं, तो मैं कैसे पता लगा सकता हूं कि उन बाइट्स को सफलतापूर्वक वितरित किया गया था या नहीं?पता लगाना कि टीसीपी पर एक संदेश
रिसीवर टीसीपी के माध्यम से बाइट प्राप्त करने को स्वीकार करता है, इसलिए प्रेषक टीसीपी ढेर को पता होना चाहिए।
लेकिन जब मैं कुछ बाइट भेजता हूं, तो भेजें() तुरंत लौटाता है, भले ही पैकेट (अभी तक) डिलीवर नहीं किया जा सका, मैंने परीक्षण किया कि लिनक्स 2.6.30 पर नेटकैट पर स्ट्रेस का उपयोग करके, मेरे नेटवर्क केबल को पहले खींचकर कुछ बाइट भेजना
मैं सिर्फ एक एप्लीकेशन विकसित कर रहा हूं जहां यह जानना बहुत महत्वपूर्ण है कि कोई संदेश वितरित किया गया था, लेकिन टीसीपी सुविधाओं को लागू करना ("संदेश # 123 के लिए एएसी") अजीब लगता है, वहां एक बेहतर तरीका होना चाहिए।
तथ्य सही हैं, लेकिन मुझे वाक्यांश पसंद नहीं है। टीसीपी एक विश्वसनीय प्रोटोकॉल है, यदि आप ट्रांसमिशन विफल हो जाते हैं तो ** ** ** इसके बारे में सुनेंगे। तथ्य यह है कि आपको रिमोट साइड से एसीके का अनुरोध करने की आवश्यकता नहीं है, एक बग नहीं है। इसके साथ निपटने का "सबसे अच्छा" तरीका ** सिस्टम कॉल और बाइट्स के स्तर पर समस्या को अनदेखा करना है। यदि आपको परिणाम की आवश्यकता है, तो इसे प्रोटोकॉल के स्तर पर करें, न कि सॉकेट। –