जब मैं प्रोग्राम से पोर्ट 80 पर सॉकेट बांधने का प्रयास करता हूं तो मुझे त्रुटि मिलती है, लेकिन एक ही पोर्ट 80 के साथ-साथ दो ब्राउज़र कैसे सुन सकते हैं?पोर्ट ब्राउज़र पर एक साथ दो ब्राउज़र कैसे सुनते हैं?
उत्तर
ब्राउज़र बंदरगाह 80
पर, HTTP सर्वर (हालांकि कि सिर्फ सम्मेलन है, आप आसानी से 80
पोर्ट का उपयोग कर एक FTP या टेलनेट सर्वर हो सकता था) न सुनें।
टीसीपी/आईपी में, एक "सत्र" अद्वितीय होना चाहिए और सत्र को 5-ट्यूपल (protocol, sourceIP, sourcePort, destinationIP, destinationPort)
के रूप में परिभाषित किया जाना चाहिए। यह पैकेट को इंटरनेट पर सही ढंग से रूट करने की अनुमति देता है।
आमतौर पर जब कोई ग्राहक किसी सर्वर से संपर्क करने का प्रयास करता है, तो यह 0
को इसके स्रोत पोर्ट के रूप में निर्दिष्ट करता है जिसका अर्थ है कि ऑपरेटिंग सिस्टम इसे एक अप्रयुक्त एक असाइन करता है। इसका मतलब है कि ग्राहक वास्तव में पोर्ट 80
के बजाय पर पोर्ट पर सुनेंगे।
तो जब आप माइक्रोसॉफ्ट के वेब पृष्ठों तक पहुंचने के लिए बाहर जाते हैं तो आपको (TCP, mybox.com, 1101, www.microsoft.com, 80)
गुणों के साथ सत्र मिल सकता है।
यदि आपको लगता है कि आप अपने सर्वर को पोर्ट 80
पर बाध्य नहीं कर सकते हैं, तो इसकी संभावना अधिक होगी क्योंकि आपके पास पहले से ही उस पोर्ट पर चलने वाला सर्वर है, या आपके प्रोग्राम में उस बंदरगाह से बंधने के लिए आवश्यक विशेषाधिकार नहीं हैं (पोर्ट्स से कम 1024
आमतौर पर विशेषाधिकार प्राप्त बंदरगाह माना जाता है)।
रनिंग netstat -a
आपको बता देंगे एक सर्वर पोर्ट 80
के लिए बाध्य कर रहा है या नहीं (लिनक्स या Windows पर)।(http
या अगर यह सेवा के नाम करने के लिए बंदरगाहों को हल है) बंदरगाह 80
पर एक श्रोता के लिए देखो, की तरह कुछ:
tcp 0 0 localhost:http *:* LISTEN
आप सत्र को 5-टुपल '(प्रोटोकॉल, स्रोतआईपी, गंतव्यआईपी, स्रोतपोर्ट, गंतव्यपोर्ट) के रूप में सूचीबद्ध करते हैं, लेकिन फिर आप उदाहरण देते हैं '(टीसीपी, mybox.com, 1101, www.microsoft.com, 80)'। यह नहीं होना चाहिए '(टीसीपी, mybox.com, www.microsoft.com, 1101, 80) '? –
@ जोन, इसके लिए धन्यवाद। टुपल का उद्देश्य किसी भी तरह से आदेश देने का इरादा नहीं था, यह केवल सत्र की पहचान करने के लिए आवश्यक जानकारी थी। मैं इसे स्थिरता के लिए ठीक कर दूंगा, क्योंकि आप बिल्कुल सही हैं कि इससे भ्रम पैदा हो सकता है। – paxdiablo
वे पोर्ट 80 पर नहीं सुनते हैं, यदि आप SSL का उपयोग कर रहे हैं (या किसी अन्य बंदरगाह पर यदि व्यवस्थापक सम्मेलन के साथ टूट गया है, तो आपने http://www.site.com:8080 जैसे यूआरएल देखे होंगे पोर्ट 8080 पर स्थापित किया गया था)।
ब्राउज़र एक यादृच्छिक उच्च-क्रमांकित बंदरगाह से अनुरोध करेगा ताकि ब्राउज़र एक ही समय में सक्रिय हो सके।
paxdiablo कहते हैं, तुम क्या कार्यक्रमों कनेक्शन के लिए सुन रहे हैं देखने के लिए netstat उपयोग कर सकते हैं
ब्राउज़र वास्तव में बाध्य नहीं हैं (का उपयोग करते हुए "netstat -एक बी" दिखाएगा जो निष्पादन योग्य ही है जो बंदरगाह के लिए) 80 पोर्ट करने के लिए बिल्कुल। आपको शायद यह पता चलेगा कि आप आईआईएस या अन्य वेब सर्वर भी चला रहे हैं जो बाध्य है और यह आपकी समस्याओं का कारण है
ब्राउज़र वास्तव में पोर्ट 80 पर नहीं सुनते हैं। वेब-सर्वर यह और ब्राउज़र करते हैं 49152 और 65535 के बीच एक बंदरगाह के साथ एक कनेक्शन खोलता है मुझे लगता है (गतिशील बंदरगाहों)।
नेटवर्क कनेक्शन में एक पीयर (आमतौर पर क्लाइंट कहा जाता है) जो दूसरे से कनेक्ट होता है (आमतौर पर सर्वर कहा जाता है)। सर्वर को एक निश्चित बंदरगाह पर सुनना कहा जाता है, जबकि ग्राहक उस बंदरगाह से जुड़ने के लिए कहा जाता है।
इस मामले में वेब सर्वर पोर्ट 80 पर सुनता है जबकि सभी क्लाइंट (ब्राउज़र) इससे जुड़ते हैं।
जब कोई ब्राउज़र किसी सर्वर से कनेक्शन बनाता है, तो यह स्थानीय गैर-निजीकृत बंदरगाह से जुड़ा होता है, लेकिन वेब सर्वर के पोर्ट 80 से कनेक्ट होता है। जब सर्वर प्रतिक्रिया वापस भेजता है, तो यह गैर-निजीकृत बंदरगाह पर जाता है ब्राउज़र का कंप्यूटर। यदि एक ही कंप्यूटर पर दो ब्राउज़र हैं, तो वे अलग-अलग बंदरगाहों से जुड़ते हैं।
यदि आप मतलब है "कैसे कर सकते हैं दो सर्वर पोर्ट 80 पर सुनने", HTTP सर्वर एपीआई का उपयोग पर विचार करें। दोनों सर्वर एक यूआरएल के साथ एक कॉलबैक फ़ंक्शन पंजीकृत कर सकते हैं। ग्राहक तब तय कर सकता है कि यूआरएल के आधार पर किस सर्वर को कॉल करना है, f.e.
http://localhost/Service1 उस सेवा पर जायेगा जिसने अपने यूआरएल के रूप में "http://localhost/Service1" निर्दिष्ट किया है।
- 1. दो यूडीपी-सर्वर एक ही बंदरगाह पर सुनते हैं?
- 2. क्या दो अलग ब्राउज़र एक कुकी साझा कर सकते हैं?
- 3. एक ब्राउज़र
- 4. ब्राउज़र पर रीपिंग ZipOutputStream
- 5. ब्राउज़र के बिना ब्राउज़र संचार के ब्राउज़र?
- 6. ब्राउज़र ब्राउज़र और फ़ोटोशॉप
- 7. ब्राउज़र पर रिकॉर्डिंग ऑडियो
- 8. ब्राउज़र/सर्वर पर समान कोड
- 9. ब्राउज़र
- 10. एक मोड़ के साथ ब्राउज़र कॉल छोड़कर
- 11. एक ब्राउज़र और जावास्क्रिप्ट
- 12. ब्राउज़र/
- 13. ब्राउज़र
- 14. आप ग्रहण वेब ब्राउज़र कैसे खोलते हैं?
- 15. ब्राउज़र जावास्क्रिप्ट को कैसे संभालते हैं?
- 16. पी 2 पी (ब्राउज़र को ब्राउज़र) जावा
- 17. क्रोम/ब्राउज़र कंसोल पर ट्रेस
- 18. कैपिबरा के साथ ब्राउज़र कैसे बंद करें?
- 19. ब्राउज़र को एक स्थिर साइट पर परिवर्तन कैसे दिखाएं
- 20. ब्राउज़र एक्सटेंशन
- 21. jQuery स्क्रॉलपॉप ब्राउज़र पर असंगत
- 22. ब्राउज़र पर कुकीज़ साफ़ करें
- 23. ब्राउज़र पेज के शीर्ष पर कैसे जाएं
- 24. ब्राउज़र पर डेटा कैसे फ़्लश करें लेकिन
- 25. ब्राउज़र ब्राउज़र प्रारंभ कब करता है?
- 26. क्लाइंट ब्राउज़र पर पासवर्ड हैशिंग
- 27. Asp.net पर ब्राउज़र बंद करें
- 28. ब्राउज़र पर लाइव वीडियो स्ट्रीम करें (कम विलंबता के साथ)
- 29. दो ब्राउज़र विंडोज़ के बीच संवाद कैसे करें?
- 30. एक तरह से डिफ़ॉल्ट ब्राउज़र
सर्वर सुनता है, ब्राउज़र कनेक्ट करता है ... – miku
जब पोर्ट 80 के साथ कोई कनेक्शन है, तो दोनों प्रोग्रामों में से कौन सा जवाब देना चाहिए? –
@ अलवरो यह नहीं है कि सॉकेट कैसे काम करते हैं। –