मैंने अभी अपना सॉकेट सर्वर Amazon EC2 पर रखा है और सर्वर चालू है और चल रहा है। सर्वर सॉकेट के लिए पोर्ट ss = new ServerSocket(30001);
है। मैं अपने क्लाइंट क्लास के अंदर सॉकेट पोर्ट को किस पर सेट करूं? यह वर्तमान में स्थानीय होस्ट पर है। socket = new Socket("localhost", 30001);
अमेज़न EC2 पता है
ec2-user@ec2-34-253-76-28.eu-west-1.compute.amazonaws.com
क्या मैं इसके साथ लोकलहोस्ट को बदल दूं?
1 उत्तर
यदि क्लाइंट दूरस्थ है (सर्वर के समान होस्ट पर नहीं) तो, हाँ, होस्ट के DNS नाम या सार्वजनिक IP पते का उपयोग करें।
आपको अपने सर्वर एप्लिकेशन को होस्ट करने वाले ईसी 2 इंस्टेंस में इनबाउंड कनेक्शन की भी अनुमति देनी होगी। सुनिश्चित करें कि पोर्ट ३०००१ आपके क्लाइंट के सार्वजनिक आईपी पते में प्रवेश के लिए खुला है (या स्रोत सीआईडीआर के रूप में ०.०.०.०/० का संकेत देकर दुनिया के लिए)। आप इसे एडब्ल्यूएस में Security Group के माध्यम से करते हैं। .
यदि आप अपने सर्वर को दुनिया के सामने लाते हैं, तो आपको अपने ग्राहकों के लिए प्रमाणीकरण के किसी न किसी रूप को लागू करना चाहिए (कम से कम)।
जाँच करने के लिए कुछ चीज़ें, यदि आपका क्लाइंट कनेक्ट नहीं कर सकता है:
- क्या आपका सर्वर सॉकेट 0.0.0.0 (या ईसी 2 इंस्टेंस से जुड़ा सार्वजनिक आईपी) से जुड़ा है?
- क्या आपका सर्वर ऐप चल रहा है?
- क्या नेटस्टैट आपके सर्वर ऐप को पोर्ट 30001 पर सुनता हुआ दिखाता है?
- क्या आपने EC2 इंस्टेंस में एक सुरक्षा समूह जोड़ा है और अपने क्लाइंट IP (या दुनिया) से पोर्ट 30001 पर आने वाले ट्रैफ़िक की अनुमति देने वाला एक प्रवेश नियम जोड़ा है।
- क्या क्लाइंट ऐसे नेटवर्क पर चल रहा है (जैसे कॉर्पोरेट) जो आउटबाउंड पोर्ट को ब्लॉक करता है 30001
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।