यदि मेरे पास String
एक आईपी एड्रेस (आईपीवी 4 या आईपीवी 6) का प्रतिनिधित्व करता है तो मैं ServerSocket
कैसे बना सकता हूं और आईपी पास या आईपीवी 6 की देखभाल किए बिना इस आईपी से बांध सकता हूं?
मुझे लगता है कि एक कन्स्ट्रक्टर है: ServerSocket(int port, int backlog, InetAddress bindAddr)
लेकिन InetAddress
किसी भी निर्माता और उसके उप-वर्गों को आईपीवी 4 और आईपीवी 6 के लिए विशिष्ट नाम देने की प्रतीत नहीं होती है।
तो मैं आईपी को सॉकेट कैसे बांध सकता हूं?मैं विशिष्ट आईपी में सर्वरकेट कैसे बांध सकता हूं?
6
A
उत्तर
20
आप फैक्टरी विधि INetAddress.getByName
का उपयोग कर सकते हैं। यह पता लगाएगा कि किस सबक्लास का उपयोग करना है। उदाहरण के लिए:
InetAddress addr = InetAddress.getByName("127.0.0.1");
// or
InetAddress addr = InetAddress.getByName("::1");
// and now you can pass it to your socket-constructor
ServerSocket sock = new ServerSocket(1234, 50, addr);
क्या आपका मतलब है मेरे आईपी में पास करें और ऑब्जेक्ट वापस प्राप्त करें? – Jim
@ जिम: हाँ, बिल्कुल! मैंने इसका उपयोग कैसे किया है इस पर एक उदाहरण जोड़ा है। – vstm
सिर्फ एक नोट: डिफ़ॉल्ट 'बैकलॉग' 50 है: डी। –