हम एक टीसीपीएस सर्वर और ग्राहक कार्यक्रम लिख रहे हैं। टीसीपी क्लाइंट बफर में कितनी जगह है? पसंद है, किस बिंदु पर यह डेटा फेंकना शुरू कर देगा? हम यह निर्धारित करने की कोशिश कर रहे हैं कि टीसीपी क्लाइंट अवरुद्ध हो सकता है या यदि इसे अपने स्वयं के पृष्ठभूमि धागे में जाना चाहिए (ताकि बफर पूर्ण नहीं हो सके) ..नेटवर्कस्ट्रीम और टीसीपी क्लाइंट के पास कितना बफर है?
उत्तर
आप TcpClient.ReceiveBufferSize और TcpClient.SendBufferSize से बफर आकार प्राप्त कर सकते हैं।
उपलब्ध बफर आकार भिन्न होंगे क्योंकि टीसीपी स्तर पर डेटा प्राप्त/स्वीकृत (या नहीं) प्राप्त होता है। टीसीपी क्लाइंट डिफ़ॉल्ट रूप से अवरुद्ध है।
कोई डेटा पूर्ण बफ़र्स का एक परिणाम के रूप में दूर फेंक दिया जाएगा, हालांकि डेटा के तहत त्रुटि की स्थिति में दूर (जैसे साथियों के गायब हो जाता है/दुर्घटनाओं/बाहर निकलता है आदि)
MSDN प्रलेखीकरण डिफ़ॉल्ट कहते फेंक किया जा सकता है send और receiveTcpClient
के लिए बफर 8192 बाइट्स, या 8 के आकार का आकार है। दस्तावेज इस सीमा को निर्दिष्ट नहीं करता है कि ये बफर कितने बड़े हो सकते हैं।
जैसा कि मुझे यकीन है कि आप जानते हैं, आप इसके अंतर्निहित NetworkStream
ऑब्जेक्ट का उपयोग करके TcpClient
के माध्यम से डेटा भेज और प्राप्त करते हैं। आप इस पर नियंत्रण में हैं कि ये सिंक्रोनस या असिंक्रोनस ऑपरेशंस हैं या नहीं। यदि आप तुल्यकालिक व्यवहार चाहते हैं, तो Read
और NetworkStream
के तरीकों का उपयोग करें। यदि आप असीमित व्यवहार चाहते हैं, तो BeginRead
/EndRead
और BeginWrite
/EndWrite
संचालन का उपयोग करें।
यदि आप कुछ फ्रंट-एंड एप्लिकेशन के हिस्से के रूप में डेटा प्राप्त कर रहे हैं, तो मैं इसे एक माध्यमिक धागे में करने की अत्यधिक अनुशंसा करता हूं, चाहे आप एसिंक्रोनस विधियों का उपयोग करके या एक अलग थ्रेड में सिंक्रनाइज़ करते हैं। पृष्ठभूमि में डेटा भेजने और प्राप्त करने के दौरान यह आपके यूआई को उपयोगकर्ता के प्रति उत्तरदायी होने की अनुमति देगा।
ठीक है हम नहीं हैं सुनिश्चित करें कि हम एसिंक्रोनस चाहते हैं, या पृष्ठभूमि थ्रेड – Earlz
@Earlz में सिंक्रनाइज़ करने के लिए, मुझे यकीन नहीं है कि दोनों के बीच एक बड़ा अंतर है। एसिंक्रोनस विधियां, उदाहरण के लिए, 'BeginRead(), एक अलग थ्रेड पर अपने संबंधित' AsyncCallback' विधियों को निष्पादित करें। दिन के अंत में, यदि आप यूआई से उपयोगकर्ता इनपुट को प्रोसेस करते समय डेटा भेजने/प्राप्त करने का प्रयास कर रहे हैं तो आपको द्वितीयक थ्रेड का उपयोग करने की आवश्यकता है। –
@ मैटडाविस, यह एक आम गलतफहमी है। .Net Async I/O विधियां वास्तव में एक ऑपरेटिंग सिस्टम सुविधा कॉल I/O प्राप्ति बंदरगाहों का लाभ उठाती हैं, इसलिए सॉकेट में या फ़ाइल सिस्टम से या फ़ाइल नाम से या किसी नामित पाइप या I/O की प्रतीक्षा करते समय उपयोग में कोई थ्रेड अवरुद्ध नहीं होता है या उपयोग में नहीं होता है। जो कुछ। –
- 1. नेटवर्कस्ट्रीम। डेटा उपलब्ध बनाम टीसीपी क्लाइंट। उपलब्ध
- 2. क्या किसी को नेटवर्कस्ट्रीम और टीसीपी क्लाइंट, या बस टीसीपी क्लाइंट दोनों को बंद करने की आवश्यकता है?
- 3. टीडीडी और मॉकिंग टीसीपी क्लाइंट
- 4. टीसीपी: क्लाइंट
- 5. टीसीपी क्लाइंट कनेक्शन
- 6. नकली नेटवर्कस्ट्रीम।
- 7. विनरेट - टीसीपी क्लाइंट?
- 8. टीसीपी "क्लाइंट" उदाहरण!
- 9. सरल क्यूटी टीसीपी क्लाइंट
- 10. इंडी टीसीपी क्लाइंट/सर्वर
- 11. आईओसीपी सी ++ टीसीपी क्लाइंट
- 12. टीसीपी क्लाइंट ऑटो-रिकनेक्ट
- 13. एंड्रॉइड क्लाइंट और जावा सर्वर टीसीपी संचार
- 14. एक खुला, सुरक्षित, टीसीपी चैनल कितना समय सुरक्षित है?
- 15. उद्देश्य-सी टीसीपी/आईपी क्लाइंट
- 16. नेटवर्कस्ट्रीम। राइट() ब्लॉकिंग समस्या
- 17. Node.js टीसीपी सर्वर आने वाले बफर
- 18. फ़ंक्शन के लिए चार बफर पास करने और बफर के आकार को प्राप्त करने के लिए
- 19. नेटवर्कस्ट्रीम। राइट बनाम सॉकेट।
- 20. पोको :: नेट सर्वर और क्लाइंट टीसीपी कनेक्शन इवेंट हैंडलर
- 21. मिक्सिंग टीसीपी और यूडीपी
- 22. .NET रनटाइम में टीसीपी बफरिंग ब्रेकेज
- 23. emacs elisp में सरल टीसीपी क्लाइंट उदाहरण?
- 24. सॉकेट और टीसीपी क्लाइंट ऑब्जेक्ट्स के बीच कनवर्ट करना संभव है?
- 25. यूडीपी के पास हेडर में लंबा क्षेत्र क्यों है और टीसीपी नहीं है?
- 26. ईमेल क्लाइंट बनाने में कितना मुश्किल है? - अजगर
- 27. node.js कंसोल कितना विस्तृत है?
- 28. टीसीपी
- 29. प्रोटोकॉल बफर और ओओ डिज़ाइन
- 30. जावास्क्रिप्ट कितना कुशल है?
वैसे तो यह तब तक डेटा प्राप्त करेगा जब तक कि कंप्यूटर स्मृति से बाहर नहीं हो जाता? – Earlz
नहीं, टीसीपी प्रवाह नियंत्रण प्रदान करता है। जब बफर भर जाते हैं, तो दूसरा अंत भेजना बंद कर देता है। – nos
मैं भी सर्वर का प्रभारी हूं, इसलिए यदि ऐसा होता है, तो सर्वर पर क्या होता है? 'टीसीपी सर्वर' – Earlz