Google chrome connects multiple times to java HttpServer -
मेरे पास यह छोटा जावा http सर्वर है:
सार्वजनिक वर्ग HttpServer {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग एल्ग्स []) {int port; सर्वरसॉकेट सर्वर_सॉकेट; {Port = Integer.parseInt (आर्ग्स [0]) का प्रयास करें; } पकड़ (अपवाद ई) {port = 8080; } {Server_socket = नया सर्वरसॉकेट (पोर्ट, 0, इनैटएड्डर.टेटेबाइनाम ("स्थानीयहोस्ट")) का प्रयास करें; System.out.println ("पोर्ट पर चलने वाला httpServer" + server_socket.getLocalPort () + "पता" + server_socket.getInetAddress ()); } पकड़ (IOException ई) {System.out.println (e); }}} जब मैं स्थानीय क्रोम को स्थानीय होस्ट IDE कंसोल के साथ जुड़ता हूं तो निम्न लिखा जाता है:
पोर्ट 8080 पते स्थानीयहोस्ट / 127.0.0.1 पर चलने वाला httpServer नया कनेक्शन स्वीकार किया गया /127.0.0.1: 4839 नया कनेक्शन स्वीकार किया गया /127.0.0.1: 4840 ऐसा लगता है कि Google क्रोम सर्वर से दो बार जोड़ता है, लेकिन इसकी पोर्ट बदलती है ऐसा क्यों हो सकता है?
चूंकि आपके क्लाइंट पर पोर्ट 8080 पहले से ही लिया गया है, ग्राहक का ऑपरेटिंग सिस्टम क्लाइंट पर एक अलग अप्रयुक्त पोर्ट के लिए कनेक्शन मैप करें। आपका ग्राहक सर्वर पर पोर्ट 54839 और 54840 से पोर्ट 80 तक जोड़ता है। किसी अन्य क्लाइंट को आपके सर्वर से कनेक्ट करने की अनुमति देने के लिए, बंदरगाह को स्वचालित रूप से एक अप्राप्य पोर्ट पर रीडायरेक्ट किया जाता है।
यहां एक सूची है जो ... ...
- ग्राहक एक को खोलता है सॉकेट अपने सर्वर से कनेक्ट करने के लिए
- ग्राहक की ओएस जांचता है कि यदि पोर्ट को सॉकेट कनेक्ट करने का प्रयास कर रहा है और यदि उपयोग नहीं किया गया है तो अप्रयुक्त पोर्ट के लिए।
- ग्राहक का ओएस सॉकेट को असाइन करता है अप्रयुक्त स्थानीय पोर्ट जिसे इसे चरण 2 में मिला है।
- सर्वर कनेक्शन अनुरोध प्राप्त करता है और इसे स्वीकार करता है।
- क्लाइंट और सर्वर में एक चैट है और फिर डिस्कनेक्ट।
54839 और 54840 हैं सर्वर सर्वर ओएस बंदरगाह 8080 से दूसरे पोर्ट के कनेक्शन को पुनर्निर्देशित करता है।
संपादित करें: सही ढंग से अपने प्रश्न का उत्तर देने के लिए, आपके द्वारा ब्राउजर भेजने वाले संसाधनों को दो बार कनेक्ट होने के कारण होता है। एक बार संसाधन को पुनः प्राप्त करने के लिए पहले संसाधन को पुनः प्राप्त करने और दूसरी बार पुनः प्राप्त करने के लिए।
Comments
Post a Comment