2010-07-01 13 views
6

कुछ चीजों को स्पष्ट करने की कोशिश कर जावा सर्वर प्रौद्योगिकियों को सीखना। ऐसी कुछ तकनीकें हैं जो जावा अनुप्रयोगों को एक दूसरे के साथ संवाद करने की अनुमति देती हैं।सर्वर क्लाइंट को डेटा कैसे धक्का दे सकता है?

1) वेब सेवाओं (बाकी/सोप) http

2) साधारण पोस्ट से अधिक/का उपयोग कर GET URLConnection से अधिक http।

3) सॉकेट

4) RMI = सॉकेट + red5 = RTMP तरह क्रमबद्धता + कुछ उपयोगिताएँ

5) विभिन्न मीडिया सर्वर वस्तु या rtmpt

यह सब प्रौद्योगिकियों मान एक सर्वर है कि वहाँ आवेदन और ग्राहक आवेदन। ग्राहक आवेदन सर्वर पता पता है और कॉल के आरंभकर्ता होना चाहिए। और जहां तक ​​मैं समझता हूं कि क्लाइंट को डेटा धक्का देने के लिए सर्वर के लिए अभी भी है, वह केवल ग्राहक को प्रतिक्रिया के रूप में डेटा भेज सकता है। और यह संभव है, अगर वे केवल अपनी भूमिका बदलते हैं, तो इस मामले में सर्वर को क्लाइंट आईपी पता होना चाहिए।

तो मैं कैसे नेटवर्क खेल काम करता है सोच रहा? क्या प्रत्येक 1-2 सेकंड में क्लाइंट से अनुरोध खींचने के बिना सर्वर और क्लाइंट के बीच कनेक्शन खोलना और डेटा का आदान-प्रदान करना संभव है और सर्वर क्लाइंट आईपी नहीं जानता। मैं धूमकेतु और अन्य हैक्स के बारे में बात नहीं कर रहा हूँ।

धन्यवाद

उत्तर

6

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

आम आई/ओ एपीआई टीसीपी पाइप के लिए इस्तेमाल किया कनेक्शन के दोनों छोर को "उठ" किया जा अनुमति देते हैं: एक अतुल्यकालिक मैं/हे अनुरोध एक धागा ओएस या मैं/हे पुस्तकालय द्वारा प्रबंधित से एक पंजीकृत कॉलबैक फ़ंक्शन निष्पादित या ग्राहक/सर्वर एक "अवरुद्ध" कॉल पर अपना स्वयं का धागा जोड़ता है, जो डेटा उपलब्ध होने पर लौटाता है। इस मॉडल के साथ कोई मतदान या पुन: कनेक्शन प्रयास आवश्यक नहीं है, क्लाइंट और सर्वर दोनों डेटा "उपलब्ध होने पर" जानते हैं और तुरंत उस पर कार्य कर सकते हैं।

+2

इसके अलावा वास्तविक समय नेटवर्क खेल अक्सर वास्तव में "धोखा" एक सा है। प्रत्येक क्लाइंट रीयलटाइम में स्थानीय रूप से दुनिया को अपडेट करता है, और सर्वर से एक नया अपडेट आने पर साझा सिमुलेशन को पुन: संसाधित करने के लिए कुछ चाल करता है। जब आप अपने दुश्मन पर गोली मार हो सकता है वह अपने शॉट चकमा केवल एक छोटा सा क्षति हो रही हूँ या नहीं हो सकता। बेशक यह सर्वर है कि पर अगर उस ग्राहक से चकमा आदेश से पहले या शॉट के बाद पहुंचे आधार पर काफी तय करेगा है ... लेकिन आक्रामक खिलाड़ी शायद 3 डी एनीमेशन दिखाया गया है और ऊर्जा की संख्या के बीच एक अंतिम incongruence नोटिस नहीं होगा सलाखों को घटाया। – 6502

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

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