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();
}