Как создать серверный сокет, который принимает соединение с определенного IP-адреса?
new ServerSocket(1234, 50, InetAddress.getByName("1.2.3.4"));
Где 1234 - порт 1.2.3.4 - IP для прослушивания. Таким образом, если у вас есть 2 IP-адреса на 1 машине (1.2.3.4 и 1.2.3.5), код выше будет подписываться только на первый IP-адрес.
Вот пример http://www.exampledepot.com/egs/java.nio/NbServerSocket.html