JAVA слушать ип порт

Есть устройство, которое каждую секунду вещает в сеть по своему ип и порту, по протоколу tcp данные. Подскажите, как их правильно считать, если у устройства ип отличается, от ип моей программы. Но они в одной локальной сети? Через сокеты не получится? Пробовал как-то так, получаю ошибку Cannot assign requested address: bind

    InetAddress inetAddress = InetAddress.getByName(ip);

    //serverSocket = new ServerSocket(port,5,inetAddress);
    ServerSocket server;
    try {
        server = new ServerSocket(port,5, inetAddress);
        while (true) {
            Socket socket = server.accept();
            ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
            while (!socket.isClosed()) {
                System.out.println((String) ois.readObject());
            }
        }
    } catch (IOException | ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

//server.close();
}

Ответы (1 шт):

Автор решения: Drop

Разобрался, если кому будет подобный вопрос интересен private static Socket clientSocket;

private static BufferedReader reader;
private static BufferedReader in;

public static void main(String[] args) throws UnknownHostException {

    
    Thread run = new Thread(new Runnable() {
        @Override
        public void run() {

        
            String object;
            while (true) {
                try {
                    Thread.sleep(1000); // 1000 - 1 сек

clientSocket = new Socket(ip, port);
        in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                String word = in.readLine();
                System.out.println(word);
                
            
            
        }catch (IOException | InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
            }
        }
        
    });
    run.start();

}
→ Ссылка