मैंने अभी अपना सॉकेट सर्वर 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
Cameron Kenny 25 जिंदा 2021, 17:13

1 उत्तर

सबसे बढ़िया उत्तर

यदि क्लाइंट दूरस्थ है (सर्वर के समान होस्ट पर नहीं) तो, हाँ, होस्ट के DNS नाम या सार्वजनिक IP पते का उपयोग करें।

आपको अपने सर्वर एप्लिकेशन को होस्ट करने वाले ईसी 2 इंस्टेंस में इनबाउंड कनेक्शन की भी अनुमति देनी होगी। सुनिश्चित करें कि पोर्ट ३०००१ आपके क्लाइंट के सार्वजनिक आईपी पते में प्रवेश के लिए खुला है (या स्रोत सीआईडीआर के रूप में ०.०.०.०/० का संकेत देकर दुनिया के लिए)। आप इसे एडब्ल्यूएस में Security Group के माध्यम से करते हैं। .

यदि आप अपने सर्वर को दुनिया के सामने लाते हैं, तो आपको अपने ग्राहकों के लिए प्रमाणीकरण के किसी न किसी रूप को लागू करना चाहिए (कम से कम)।

जाँच करने के लिए कुछ चीज़ें, यदि आपका क्लाइंट कनेक्ट नहीं कर सकता है:

  • क्या आपका सर्वर सॉकेट 0.0.0.0 (या ईसी 2 इंस्टेंस से जुड़ा सार्वजनिक आईपी) से जुड़ा है?
  • क्या आपका सर्वर ऐप चल रहा है?
  • क्या नेटस्टैट आपके सर्वर ऐप को पोर्ट 30001 पर सुनता हुआ दिखाता है?
  • क्या आपने EC2 इंस्टेंस में एक सुरक्षा समूह जोड़ा है और अपने क्लाइंट IP (या दुनिया) से पोर्ट 30001 पर आने वाले ट्रैफ़िक की अनुमति देने वाला एक प्रवेश नियम जोड़ा है।
  • क्या क्लाइंट ऐसे नेटवर्क पर चल रहा है (जैसे कॉर्पोरेट) जो आउटबाउंड पोर्ट को ब्लॉक करता है 30001
1
jarmod 25 जिंदा 2021, 20:29
मैंने अपने आईपी में इनबाउंड नियम निर्धारित किए हैं। मैं कैसे सुनिश्चित करूं कि पोर्ट 30001 खुला है? क्या वह पोर्ट रेंज है? मैंने आईपी सॉकेट को इस पर सेट किया: सॉकेट = नया सॉकेट ("ec2-34-253-76-28.eu-west-1.compute.amazonaws.com", 30001); हालाँकि जब मेरे पास मेरे ec2 टर्मिनल में सर्वर चल रहा है तो कुछ नहीं होता है
 – 
Cameron Kenny
25 जिंदा 2021, 18:06
जांच करने के लिए कुछ चीजें। क्या आपका सर्वर सॉकेट 0.0.0.0 (या ईसी 2 इंस्टेंस से जुड़ा सार्वजनिक आईपी) से जुड़ा है? क्या आपने EC2 इंस्टेंस में एक सुरक्षा समूह जोड़ा है और अपने क्लाइंट IP (या दुनिया) से आने वाले ट्रैफ़िक को 30001 पोर्ट करने की अनुमति देने वाला एक प्रवेश नियम जोड़ा है? क्या नेटस्टैट आपके ऐप को उस पोर्ट पर सुनता हुआ दिखाता है?
 – 
jarmod
25 जिंदा 2021, 18:29
1
हे भगवान! आप लीजेंड !!!!!!!! आपका बहुत - बहुत धन्यवाद!!!!! कमाल की! आप जैसा ज्ञानी कैसे हो सकता है ! एक दूसरे वर्ष के COMP विज्ञान छात्र के रूप में आप मुझे विस्मित करते हैं!
 – 
Cameron Kenny
25 जिंदा 2021, 18:47