यहाँ gafferongames.com पर एक टिप्पणी से सैम Jansen द्वारा एक उद्धरण है :
नेटवर्क शोधकर्ता और गेम डेवलपर के रूप में नहीं बोलने पर, टीसीपी और यूडीपी का एक साथ उपयोग करने का निष्कर्ष थोड़ा मजबूत लगता है। टीसीपी केवल पैकेट नुकसान होगा अगर यह बहुत अधिक डेटा भेज रहा है; कुछ तरीकों से यूडीपी डेटा की तरह ही आप भेज रहे हैं। अंतर यह है कि आपके द्वारा टीसीपी भेजे जाने की दर पर कोई सीधा नियंत्रण नहीं है, यह आपके लिए छिपा हुआ है।
यदि आपको बस कुछ विश्वसनीय डेटा भेजने की आवश्यकता है और एक विश्वसनीय प्रोटोकॉल को फिर से शुरू करने और लागू करने के बारे में चिंता नहीं करना चाहते हैं, और आपको पता है कि दर कम होगी, तो टीसीपी और यूडीपी दोनों का उपयोग करने के साथ कोई समस्या नहीं होगी।
यह संबंध वास्तव में दोनों के बीच जटिल नहीं है: टीसीपी केवल अपने भेजने की दर (यदि भेजने के लिए डेटा है) को बढ़ाता है, जब तक कि उसे पैकेट का नुकसान न हो जाए, उस स्थिति में यह अपनी दर वापस डायल करता है, फिर दर को बढ़ाना शुरू करता है (यह धीरे धीरे समय)। जब इसकी दर में वृद्धि पैकेट के नुकसान का कारण बनती है, तो यह आपके यूडीपी पैकेटों के साथ-साथ डेटा की किसी भी अन्य धारा को हिट करने की काफी संभावना है।
यूडीपी पैकेट हानि के पेपर के लक्षण: टीसीपी ट्रैफिक के प्रभाव ने एक साथ कई टीसीपी कनेक्शन खोलकर और नेटवर्क को डेटा के साथ भर दिया। इससे वैश्विक सिंक्रनाइज़ेशन के बाद भीड़भाड़ होती है , जिसके कारण दोनों पैकेट गिरा दिए जाते हैं। जाहिर है, एक गेम क्लाइंट एक बार में एक दर्जन कनेक्शन नहीं खोलेगा और डेटा के साथ नेटवर्क को बाढ़ देगा, और इसलिए आपके परिणाम अलग होंगे।
तुम्हारे प्रश्न का उत्तर देने के लिए:
मुझे आश्चर्य है कि अगर यह एक ही समय में टीसीपी और यूडीपी दोनों का उपयोग करने के लिए समझ में आता है, लेकिन विभिन्न चीजों के लिए [...]
हां, यह मानने योग्य बात है कि आप अपनी बैंडविड्थ सीमा के भीतर रहें।
- टीसीपी जानकारी भेजने के लिए जिसे बार-बार भेजा जाता है, लेकिन इसे विश्वसनीय तरीके से पहुंचने की गारंटी दी जानी चाहिए। जैसे कि खेल की दुनिया में स्कोर अपडेट, एक खिलाड़ी का नाम, या एक लाइट की ऑन / ऑफ स्थिति।
टीसीपी और यूडीपी दोनों का उपयोग करते समय, आपको हमेशा यूडीपी पर अधिक से अधिक और टीसीपी पर जितना संभव हो उतना कम भेजना पसंद करना चाहिए।
अब, मैं आपसे यह पूछता हूं: क्या टीसीपी पर स्कोर, खिलाड़ी का नाम और प्रकाश की स्थिति को भेजना वास्तव में आवश्यक है? हालांकि यह सच है कि आपको अंततः यह डेटा प्राप्त करने की आवश्यकता है, क्या यह सच है कि आपको यह डेटा सख्ती से-क्रम में और एक बार प्राप्त करने की आवश्यकता है?
शायद ऩही।
यूडीपी इन मामलों के लिए ठीक काम करता है, और क्वेक 3 इसका एक अच्छा उदाहरण है।
तो UDP के साथ TCP का एक अच्छा उदाहरण क्या है? खैर, एक गेम के चैटबॉक्स के बारे में सोचें। इस चैटबॉक्स (यानी पाठ की नई पंक्तियों) के अपडेट को विश्वसनीय और सख्ती से आदेश दोनों में भेजने की आवश्यकता है। इस प्रकार, टीसीपी एक अच्छा फिट है।