मैं एक छोटे से मल्टीप्लेयर खेल है कि मैं एक सीखने व्यायाम के रूप में अजगर में लिख रहा हूँ की शुरुआत की है। वर्तमान में सर्वर 10 एफपीएस पर चलता है, जबकि ग्राहक जो भी दर पसंद करते हैं, दौड़ते हैं। यह बैंडविड्थ को संरक्षित करने के लिए अच्छी तरह से काम करता है, लेकिन जब तक कि ग्राहक इनपुट नहीं करता है तब तक सर्वर सर्वर को बताता है, सभी इनपुट 100ms अंतराल तक मात्राबद्ध हो जाते हैं। मैं क्लाइंट और सर्वर के बीच समय को सिंक्रनाइज़ कैसे कर सकता हूं ताकि मैं इन सुधारों को कर सकूं? यहां एक बड़ी बाधा यह है कि मुझे पिंग के समय निर्धारित करने और उनकी क्षतिपूर्ति करने की आवश्यकता होगी।सरल अजगर-सॉकेट आधारित सर्वर और ग्राहकों के बीच सिंक्रनाइज़ किया जा रहा समय
उत्तर
मैंने गलती (पारंपरिक ग्राहक भविष्यवाणी के बिना) कैसे सामान्य रूप में वितरित नेटवर्क भौतिकी करने के लिए पर एक excruciatingly fine blog post बारे में जाना। मैं अत्यधिक अनुशंसा करता हूं कि जीडीसी स्लाइड्स फिडलर ने कुछ साल पहले प्रस्तुत किया था। सौभाग्य!
धन्यवाद, मुझे लंबे समय से उन ब्लॉग पोस्ट याद हैं जब श्रृंखला अपूर्ण थी। नेटवर्किंग पर अंतिम एक महान है, और बहुत मदद करनी चाहिए! – Alex
यह एक बहुत ही दिलचस्प सवाल है। दुर्भाग्य से कोई आसान जवाब नहीं है। तुम बस अच्छी तरह से इस मुद्दे को understnad और एक समाधान है कि आपके आवेदन के लिए पर्याप्त अच्छा है के लिए समझौता किया है।
मेरी पहली वृत्ति कि एनटीपी सर्वर से मशीन घड़ियों की स्थापना के लिए Network Time Protocol (NTP) इस मुद्दे को संबोधित किया था। वहां संबोधित मुद्दों में से एक Jitter Buffers से संबंधित है, जिसमें packet delay variation शामिल है। यह RFC 3393; IP Packet Delay Variation Metric for IP Performance Metrics (IPPM) में विस्तारित है।
मैं एनटीपी में देखूंगा, जो वास्तव में मेरी स्थिति में कुछ अंतर्दृष्टि प्रदान कर सकता है। – Alex
- 1. सिंक्रनाइज़ किया जा रहा विरूपण साक्ष्य संस्करणों
- 2. खेल (एमएमओआरपीजी) क्लाइंट और सर्वर के बीच समय/घटनाओं को सिंक्रनाइज़ करें?
- 3. क्या सिंक्रनाइज़ (यह) और सिंक्रनाइज़ विधि के बीच अंतर है
- 4. सिंक्रनाइज़ (यह) और सिंक्रनाइज़ (ClassName.class) के बीच क्या अंतर है?
- 5. मोनो पर सी # में सरल आरईएसटी आधारित सर्वर कैसे लिखें?
- 6. क्लाइंट-सर्वर गेम स्थिति सिंक्रनाइज़ करना
- 7. सत्रों को पृष्ठों के बीच सहेजा नहीं जा रहा है
- 8. ग्राहकों क्वेरी स्ट्रिंग छोटा किया जा रहा, का कारण बनता है FormatException
- 9. ज़िप किया जा रहा फ़ाइलों
- 10. फ़ाइल-आधारित डेटाबेस और सर्वर-आधारित डेटाबेस के बीच क्या अंतर है?
- 11. सर्वर समय
- 12. सरल गेम सर्वर
- 13. एक डब्ल्यूसीएफ क्लाइंट और सर्वर स्थापित करते समय, कॉन्फ़िगरेशन फ़ाइलों को सिंक्रनाइज़ करने के लिए कैसे किया जाना चाहिए?
- 14. सिंक्रनाइज़ किए जा रहे iCloud
- 15. WCF जावा ग्राहकों और IncludeTimestamp
- 16. जावा में एक सिंक्रनाइज़ विधि और सिंक्रनाइज़ ब्लॉक के बीच क्या अंतर है?
- 17. iis7 चुनौती-आधारित और लॉगिन रीडायरेक्ट-आधारित प्रमाणीकरण का उपयोग एक साथ नहीं किया जा सकता
- 18. एसक्यूएल सर्वर: यूटीसी और स्थानीय समय के बीच कनवर्ट करें
- 19. ग्राहकों और एंड्रॉयड
- 20. Periodictask निष्पादित नहीं किया जा रहा
- 21. सर्वर प्रोग्रामिंग - सरल मल्टीप्लेयर गेम - कौन सा प्रोटोकॉल और प्रौद्योगिकियां?
- 22. क्या यह सरल एसक्यूएल क्वेरी अनुकूलित किया जा सकता है?
- 23. वेब सर्वर और गेम सर्वर के बीच क्या अंतर है?
- 24. सत्यापित किया जा रहा base64 इनकोडिंग छवियों
- 25. लॉक किया जा रहा व्यवहार नेटवर्क शेयर
- 26. सर्वर और आईओएस अनुप्रयोग के बीच फ़ाइलों की निर्देशिका सिंक्रनाइज़ करें
- 27. सिंक्रनाइज़ और पुन: प्रवेश लॉक के बीच अंतर?
- 28. एक मॉडल संपत्ति सत्यापित किया जा रहा से एक और
- 29. बाहरी निर्भरताओं को कैसे प्रबंधित किया जा रहा है जिन्हें लगातार संशोधित किया जा रहा है
- 30. सरल AtomPub सर्वर लाइब्रेरी
जवाब अधिकांश अन्य खेल डिजाइनरों के साथ आए हैं कि (मूल रूप से) आप कभी नहीं अच्छा तुल्यकालन प्राप्त करने के लिए जा रहे हैं है। वाह और किनारे जैसे बड़े खेल क्लाइंट साइड के अधिकांश कार्यों को अनुकरण करते हैं, और अपडेट को किसी भी दिशा में धक्का देते हैं क्योंकि यह सुविधाजनक है। –