@lenston

Как послать пакет дальше NAT?

Есть локальная сеть. В ней есть несколько маршрутизаторов.
Необходимо послать пакет всем клиентам..
При использовании подобного кода на JAVA

public class SendAll {
    static DatagramSocket s;
    static DatagramPacket dp;
    public SendAll(String Line){
        
        try{s=new DatagramSocket();
        }catch(Exception ex){}
        
        try{sendString(Line);
        }catch(Exception ex){}
        
        s.close();
    }
    static void sendString(String str)throws IOException{
        byte[]buf=str.getBytes();
        dp=new DatagramPacket(buf,buf.length,InetAddress.getByName(main.Const.BROADCAST),main.Const.PORT);
        s.send(dp);
    }
}


Пакет отсылается только клиентам одной подсети, например клиентам с IP 192.168.1.1-254,
но не отправятся клиентам 192.168.2.1-254, используется NAT..

как отправить пакет дальше?
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
Если я правильно понял код, то вы пытаетесь отправлять UDP broadcast`ом. Если это так, то никак. Маршрутизаторы обычно никогда броадкасты дальше своей сети на отправляют, чтобы не было сетевых штормов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы