जावा में आप सॉकेट या डेटाग्राम सॉकेट कन्स्ट्रक्टर के लिए एकल पैरामीटर के रूप में शून्य शून्य दे सकते हैं। जावा उस सॉकेट को तब एक मुक्त बंदरगाह से बांधता है। क्या पोर्ट लुकअप को एक विशिष्ट सीमा तक सीमित करना संभव है?जावा सॉकेट के लिए आप पोर्ट रेंज कैसे निर्दिष्ट करते हैं?
उत्तर
एचआरएम, दस्तावेज़ पढ़ने के बाद, मुझे नहीं लगता कि आप कर सकते हैं। आप या तो किसी भी बंदरगाह से बांध सकते हैं, फिर अगर यह स्वीकार्य नहीं है, तो फिर से रिबाइंड करें, या जब तक आप सफल न हों तब तक अपनी सीमा में बंदरगाह से बाध्य हो जाएं। दूसरी विधि सबसे अधिक "कुशल" होने जा रही है।
मैं, इस उत्तर के बारे में असहज कर रहा हूँ, क्योंकि यह असजीला है ..., फिर भी मैं वास्तव में कुछ और भी नहीं पा सकते हैं: (आमतौर पर) एक की सुविधा/
तुम भी नोट करना चाहिए कि कभी-कभी एक मुफ्त बंदरगाह के लिए रैखिक खोज करने में सुरक्षा प्रभाव पड़ता है। यदि आप क्लाइंट 1 के लिए पोर्ट ए का उपयोग करते हैं, और अगले क्लाइंट के लिए पोर्ट ए + 1 का उपयोग करते हैं तो क्लाइंट 1 उस पोर्ट को अनुमान लगा सकता है जिसे आप किसी अन्य क्लाइंट के लिए उपयोग करने जा रहे हैं। – Darron
किसी भी मुफ्त बंदरगाह के लिए सॉकेट बाध्यकारी है ऑपरेटिंग सिस्टम के सॉकेट समर्थन; यह जावा के लिए विशिष्ट नहीं है। उदाहरण के लिए, सोलारिस ndd कमांड के माध्यम से क्षणिक पोर्ट रेंज को समायोजित करने का समर्थन करता है। लेकिन केवल रूट ही श्रेणी को समायोजित कर सकता है, और यह केवल आपके कार्यक्रम पर ही पूरे सिस्टम को प्रभावित करता है।
यदि नियमित क्षणिक बाध्यकारी व्यवहार आपकी आवश्यकताओं के अनुरूप नहीं है, तो आपको शायद Socket.bind() का उपयोग करके अपना खुद का लिखना होगा।
आप जावा कोड पर नज़र डाल सकते हैं जो आपके द्वारा उपयोग किए जा रहे कार्यों को लागू करता है। अधिकांश जावा पुस्तकालय जावा में लिखे गए हैं, इसलिए आप देख सकते हैं कि आपको वहां क्या चाहिए।
मान लीजिए @ केनस्टर सही था और यह एक सिस्टम ऑपरेशन है, आपको बस प्रत्येक को बांधने या परीक्षण करने की कोशिश कर रहे बंदरगाहों पर फिर से प्रयास करना पड़ सकता है। हालांकि यह थोड़ा दर्दनाक है, यह कोड की कुछ पंक्तियों से अधिक नहीं होना चाहिए।
यहाँ कोड की जरूरत है:
public static Socket getListeningSocket() {
for (int port = MIN_PORT ; port <= MAX_PORT ; port++)
{
try {
ServerSocket s = new ServerSocket(port);
return s; // no exception means port was available
} catch (IOException e) {
// try the next port
}
}
return null; // port not found, perhaps throw exception?
}
आपको BindException
को पकड़ना चाहिए, जो बंदरगाह पहले से उपयोग में आने पर लॉन्च किया गया है। –
Chochos
- 1. जावा सॉकेट - स्थानीय पोर्ट
- 2. आप पाइथन सॉकेट कैसे फ्लश करते हैं?
- 3. आप ओपन सोर्स प्रोजेक्ट को कैसे पोर्ट करते हैं?
- 4. SQL प्रबंधन स्टूडियो में आप एक अलग पोर्ट नंबर कैसे निर्दिष्ट करते हैं?
- 5. आप Silverlight से WPF तक थीम कैसे पोर्ट करते हैं?
- 6. आप विंडोज़ को कोको/मैक एप्लिकेशन कैसे पोर्ट करते हैं?
- 7. आप विशिष्ट समूह 3 टिफ संपीड़न कैसे निर्दिष्ट करते हैं?
- 8. आप रेल परीक्षण में पोस्ट पैरा कैसे निर्दिष्ट करते हैं?
- 9. आप अपना नाम वापस करने के लिए रेंज कैसे प्राप्त करते हैं?
- 10. सी में सॉकेट कैसे काम करते हैं?
- 11. उसी पोर्ट सॉकेट सी ++
- 12. आप जेनेरिक के लिए डिफ़ॉल्ट प्रकार कैसे प्रदान करते हैं?
- 13. ब्राउज़र ऐपलेट के लिए आप एक विशेष जेआरई कैसे निर्दिष्ट करते हैं?
- 14. बूटस्ट्रैप मोडल विंडो के लिए आप प्राथमिक और माध्यमिक क्रियाओं को कैसे निर्दिष्ट करते हैं?
- 15. आप Django ForeignKey फ़ील्ड के लिए डिफ़ॉल्ट कैसे निर्दिष्ट करते हैं?
- 16. क्या आप == और! = IstrUE (all.equal()) को पुनः निर्दिष्ट करते हैं?
- 17. सॉकेट सेट स्रोत पोर्ट नंबर
- 18. जावा टीसीपी सॉकेट स्नीफिंग
- 19. आप कैसे परीक्षण करते हैं कि एक्सेल में एक रेंज में कोशिकाएं हैं?
- 20. आप कैसे तय करते हैं कि किस पोर्ट का उपयोग करना है?
- 21. सी ++ यूडीपी सॉकेट पोर्ट मल्टीप्लेक्सिंग
- 22. आप प्रोटोटाइप कैसे करते हैं?
- 23. आप एचटीएमएल 5 टाइम टैग के साथ डेट रेंज को कैसे मार्कअप करते हैं?
- 24. आप कैसे प्रतिक्रिया करते हैं?
- 25. आप जावा में सॉकेट डिस्कनेक्टिंग को कैसे संभालेंगे?
- 26. आप Qt5 के QUrlQuery पर QURl addQueryItem पोर्ट कैसे करते हैं?
- 27. आप जावा ईई कोड का परीक्षण कैसे करते हैं?
- 28. आप जावा लॉगिंग बॉयलरप्लेट कोड को कैसे कम करते हैं?
- 29. आप जावा एप्लेट्स को कैसे डिबग करते हैं?
- 30. आप जावा लाइब्रेरी का उपयोग कैसे करते हैं?
खैर, विशेषाधिकार रहित उपयोगकर्ताओं के लिए यह पहले से ही> 1024 * nix पर ही सीमित है: पी – freespace
दुर्भाग्य से हम खिड़कियों पर चल रहे हैं;) –