2010-11-14 13 views
9

मैं एक ऐसा एप्लीकेशन लिख रहा हूं जहां क्लाइंट साइड वायरलेस लिंक के माध्यम से सर्वर पर डेटा अपलोड करेगा।टीसीपी बनाम विश्वसनीय यूडीपी

कनेक्शन बहुत reliable.The लिंक कई बार तोड़ने के लिए आशा की जाती है होना चाहिए और वहाँ कई सर्वर से जुड़ा ग्राहकों हो जाएगा।

मैं उलझन में हूं कि टीसीपी या विश्वसनीय यूडीपी का उपयोग करना है या नहीं।

कृपया अपने विचार साझा करें।

धन्यवाद।

+2

आप इस प्रश्न को जांचने में भी रुचि रखते हैं: [विश्वसनीय यूडीपी की आवश्यकता होने पर आप क्या उपयोग करते हैं?] (Http://stackoverflow.com/questions/107668/what-do-you-use-when-you -need-विश्वसनीय-यूडीपी) –

उत्तर

6

RUDP नहीं, जाहिर है, एक औपचारिक मानक है, और वहाँ कोई कह रहा है, तो आप मौजूदा कार्यान्वयन आप उपयोग कर सकते ढूंढेगा। इसे स्क्रैच से रोल करने और टीसीपी कनेक्शन को फिर से बनाने के बीच एक विकल्प को देखते हुए, मैंने टीसीपी चुना था।

4

सुरक्षित होने के लिए, मैं टीसीपी के साथ जाऊंगा क्योंकि यह एक विश्वसनीय, मानक प्रोटोकॉल है। आरयूडीपी के पास एक स्थापित मानक नहीं होने का नुकसान है (हालांकि कई आईईटीएफ चर्चाओं में इसका उल्लेख किया गया है)।

आपकी परियोजना के साथ शुभकामनाएँ!

0

यदि आप सुनिश्चित नहीं हैं, तो बाधाएं हैं कि आपको टीसीपी का उपयोग करना चाहिए। एक बात के लिए, आईपी समर्थन देने वाले किसी भी चीज़ के लिए नेटवर्क स्टैक का हिस्सा होना निश्चित है। "विश्वसनीय यूडीपी" शायद ही कभी बॉक्स से समर्थित है, इसलिए आपके पास अपने ग्राहकों के लिए कुछ अतिरिक्त समर्थन कार्य होगा।

3

यह संभावना है कि दोनों अपने टीसीपी और RUDP लिंक अपने वातावरण से टूट किया जाएगा है, तो तथ्य यह है कि आप RUDP उपयोग कर रहे हैं वहाँ मदद करने के लिए की संभावना नहीं है ऐसे समय होंगे जब कोई डेटाग्राम प्राप्त नहीं हो सकता है ...

आपको वास्तव में यह सुनिश्चित करने की आवश्यकता है कि ए) आप कनेक्ट किए गए ग्राहकों की संख्या को संभाल सकते हैं, बी) आपका एप्लिकेशन प्रोटोकॉल उचित रूप से तेज़ी से पता लगा सकता है क्लाइंट (या सर्वर) के साथ कनेक्टिविटी खो गया है और सी) आप क्लाइंट के लिए क्रॉस कनेक्शन सत्र स्थिति के आवश्यक पुन: कनेक्शन और रखरखाव को संभाल सकते हैं।

जब तक आप बी से निपटते हैं) और सी) यह वास्तव में कोई फर्क नहीं पड़ता कि कनेक्शन टूट रहा है या नहीं। सुनिश्चित करें कि आप अपना एप्लिकेशन प्रोटोकॉल डिज़ाइन करें ताकि आप छोटी बैचों में चीजें कर सकें; इसलिए यदि आप फ़ाइलों को अपलोड कर रहे हैं, तो सुनिश्चित करें कि आप छोटे ब्लॉक भेज रहे हैं और एप्लिकेशन प्रोटोकॉल उस स्थानांतरण को फिर से शुरू कर सकता है जो आधे रास्ते से टूट गया था; आप 2 जीबी ट्रांसफर के माध्यम से 99% रास्ता नहीं प्राप्त करना चाहते हैं और कनेक्शन खोना चाहते हैं और फिर से शुरू करना है।

इस अपने सर्वर काम करने के लिए ग्राहक सत्र स्थिति कैश किसी तरह का है जहाँ आप कनेक्शन के ही जीवन से परे एक ग्राहक के कनेक्शन की तार्किक राज्य रख सकते की जरूरत है। एक अलग सत्र में कई अलग-अलग कनेक्शन शामिल करने की अपेक्षा करने के लिए शुरुआत से डिजाइन करें। सत्र स्थिति में संभवतः कुछ प्रकार का टाइमआउट होना चाहिए ताकि यदि ग्राहक समय के साथ दूर हो जाए तो यह सर्वर पर संसाधनों का उपभोग नहीं करता है, लेकिन ईमानदार होने के लिए, यह बस राज्य को डिस्क पर सहेजने का मामला हो सकता है कुछ समय।

संक्षेप में, मुझे लगता है कि परिवहन मामलों की पसंद नहीं है और मैं कम से कम शुरू करने के लिए टीसीपी के साथ जाऊंगा। वास्तव में क्या मायने रखता है सर्वर पर आपके क्लाइंट के सत्र स्थिति को प्रबंधित करने में सक्षम होना और इस तथ्य से निपटना कि क्लाइंट नियमित रूप से कनेक्ट और डिस्कनेक्ट हो जाएंगे।

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