2013-02-20 27 views
6

Bir IP adresi (IPv4 veya IPv6) temsil eden String varsa, IP geçtiyse, IPv4 veya IPv6 ise ServerSocket nasıl bu IP'ye bağlanabiliyor ve bu IP'ye bağlanabiliyor?
Bir kurucunun olduğunu görüyorum: ServerSocket(int port, int backlog, InetAddress bindAddr) ancak InetAddress hiçbir kurucu sunmuyor gibi görünüyor ve onun alt sınıfları IPv4 ve IPv6'ya özgü adlara sahip.
Soketi IP'ye nasıl bağlarım?Sunucu ağını belirli IP'ye nasıl bağlarım?

cevap

20

INetAddress.getByName fabrika yöntemini kullanabilirsiniz. Kullanılacak alt sınıfı anlar. Örneğin:

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); 
+0

IP adresimde geçiş yapmak ve nesneyi geri almak mı istiyorsunuz? – Jim

+0

@Jim: Evet, tam olarak! Nasıl kullanılacağına dair bir örnek ekledim. – vstm

+2

sadece bir not: Varsayılan 'bekleme listesi' 50: D. –