2011-04-08 8 views
5

मेरे प्रश्न का मुद्दा यह पूछना है कि क्या यह क्लाइंट और सर्वर के बीच संवाद करने के लिए टीसीपी और यूडीपी दोनों का उपयोग करने के लिए स्वीकार किया जाता है।एक ही उपकरण में टीसीपी और यूडीपी का उपयोग करने में कोई समस्या है?

मैं संचार के कुछ हिस्सों के साथ एक वास्तविक समय क्लाइंट सर्वर गेम बना रहा हूं जिसे गारंटी (लॉग इन, आदि ..) की आवश्यकता है, लेकिन अन्य हिस्सों में पैकेट (राज्य अपडेट, आदि) खोना ठीक होगा। इसलिए, मैं अधिकांश डेटा संचार के लिए यूडीपी का उपयोग करना चाहता हूं लेकिन मैं अपने स्वयं के ढांचे को लागू नहीं करना चाहता हूं ताकि यह सुनिश्चित किया जा सके कि मेरा नियंत्रण संचार (लॉग इन) गारंटी है।

तो, क्या कनेक्शन शुरू करने के लिए प्रारंभ में टीसीपी का उपयोग करना उचित होगा, और फिर एक अलग बंदरगाह पर डेटा संचार पैक और आगे भेजना उचित होगा?

उत्तर

5

आपको इसे इस तरह से करना चाहिए (विभिन्न संचार कार्यों को पूरा करने के लिए टीसीपी और यूडीपी का उपयोग करें।) और आपको दो अलग-अलग बंदरगाहों का उपयोग भी नहीं करना है। One will suffice। आप एक ही बंदरगाह पर दो अलग-अलग प्रोटोकॉल सुन सकते हैं।

0

यह केवल स्वीकार नहीं किया जाता है लेकिन इसका व्यापक रूप से उपयोग किया जाता है। एक अच्छा उदाहरण के रूप में, BATS Exchange रिकवरी तंत्र को लागू करने के लिए, market data वितरण प्रणाली में इस दृष्टिकोण का उपयोग कर रहा है।

2

यह काफी उचित है और पहले से ही मुख्यधारा में उपयोग किया जाता है। वेब ब्राउज़ करते समय भी, DNS संचालन यूडीपी-आधारित होते हैं और HTTP कनेक्शन टीसीपी-आधारित होते हैं।

ध्यान रखें कि आपको या तो दो कनेक्शन प्रकारों को पूरी तरह स्वतंत्र माना जाना चाहिए या किसी भी अंतर-निर्भरता को सही ढंग से संभालने के लिए अतिरिक्त उपायों को लागू करना चाहिए। टीसीपी कनेक्शन में ओएस और नेटवर्क स्तर पर समय के मुद्दे हो सकते हैं और यूडीपी कनेक्शन में पैकेट नुकसान के मुद्दे हैं। जब आपके आवेदन स्टालों या यूडीपी पैकेट का टीसीपी हिस्सा खो जाता है तो आपको डेडलॉक्स और प्रदर्शन समस्याओं से बचने के लिए विशिष्ट उपाय करना चाहिए।

+0

वे एक-दूसरे के लिए समस्याएं कैसे पैदा कर सकते हैं? –

+1

@gamernb: यदि वे स्वतंत्र हैं तो वे नहीं करेंगे, लेकिन यदि उदाहरण के लिए आपका टीसीपी सर्वर डेटा भेजने के लिए यूडीपी भाग से अधिसूचना की प्रतीक्षा करता है, तो यदि आप पैकेट नुकसान को संभालने की देखभाल नहीं करते हैं तो यह हमेशा के लिए इंतजार कर सकता है .. – thkala

+0

ठीक है, मैं समझता हूं। मैं उन्हें एक-दूसरे पर इंतजार करने की योजना नहीं बना रहा हूं। यूडीपी हिस्सा कुछ ऐसा होगा जो अंततः राज्य अद्यतन पैकेट के लिए इंतजार कर रहा है। अगर प्राप्त होता है, तो यह वर्तमान ग्राहक स्थिति पर लागू होता है। –

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