/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

como calcular la mascara de subred y la broadcast address???

 
      Índice del Foro elrincondelc.com -> Java
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Warfare



Registrado: 02 Dic 2006
Mensajes: 23

MensajePublicado: 02/09/2007 8:10 am
Título: como calcular la mascara de subred y la broadcast address???

bueno estoy tratando de hacer un programa para chatear pero con redes LAN sin internet y quisiera saber como puedo calcular estas dir ip a partir del ip local

bueno esto es lo que llevo



Código:
private void setBcastAddress(String iFace,InetAddress addr) throws SocketException{
     NetworkInterface netIF = NetworkInterface.getByName(iFace);
     InetAddress myIP, netMask = null;
    for(Enumeration e=netIF.getInetAddresses();e.hasMoreElements()==false;e.nextElement()){
      ;
    }
   
    }   
   
Volver arriba
albertomax



Registrado: 03 Abr 2007
Mensajes: 6

MensajePublicado: 13/09/2007 4:33 pm
Título:

No estoy muy puesto en programacion en redes en java, algo mas en python pero me parece que no necesitas saber la maskara de subred ya que si utilizas redes LAN deberas utilizar ips de clase C es decir con 24 bits de maskara y por tanto ya sabes tambien la direccion de broadcast que seria la direccion de red con el ultimo byte 255.

Espero te valga
Volver arriba
Warfare



Registrado: 02 Dic 2006
Mensajes: 23

MensajePublicado: 15/09/2007 3:06 pm
Título:

bueno ya lo habia resuelto pero gracias de todos modos aca la resulucion

Código:
 public static String GenerateBroadcastMask(String addr) throws java.net.UnknownHostException
    {

        // revisa si la broadcast mask ya esta definida

        if (getM_broadcastMask() != null)
            return getM_broadcastMask();

        // define la direccion ip en una cadena

        String localIP = addr;

        if (localIP == null)
            localIP = getMyIP();

        // encuentra el primer punto en la dir TCP/IP

        int dotPos = localIP.indexOf('.');
        if (dotPos != -1)
        {

            // Extrae el valor lider de la ip

            String ipStr = localIP.substring(0, dotPos);
            int ipVal = Integer.valueOf(ipStr).intValue();

            // Determina la broadcast mask a usar

            if (ipVal <= 127)
            {

                // direeccion clase A

                setM_broadcastMask("" + ipVal + ".255.255.255");
            }
            else if (ipVal <= 191)
            {

                // Direccion clase B

                dotPos++;
                while (localIP.charAt(dotPos) != '.' && dotPos < localIP.length())
                    dotPos++;

                if (dotPos < localIP.length())
                    setM_broadcastMask(localIP.substring(0, dotPos) + ".255.255");
            }
            else if (ipVal <= 223)
            {

                // Direccion clase C

                dotPos++;
                int dotCnt = 1;

                while (dotCnt < 3 && dotPos < localIP.length())
                {

                    // Chequea si el caracter actual es un punto

                    if (localIP.charAt(dotPos++) == '.')
                        dotCnt++;
                }

                if (dotPos < localIP.length())
                    setM_broadcastMask(localIP.substring(0, dotPos - 1) + ".255");
            }
        }

        // chequea si la Broadcast mask esta definida sino define una
        // broadcast mask

        if (getM_broadcastMask() == null)
        {

            // Formato incorrecto de direccion TCP/IP, usa una broadcast mask general
            // por ahora.

            setM_broadcastMask("255.255.255.255");
        }

        // retorna la broadcast mask en cadena

        return getM_broadcastMask();
    }

y la ip es asi

Código:
public static String getMyIP() throws UnknownHostException{
            String localIP = InetAddress.getLocalHost().getHostAddress();
          return localIP;
       }
Volver arriba
      Índice del Foro elrincondelc.com -> Java
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com