La IP que recibe bind() es la IP a la cual se asocia el puerto que vas a
poner a recibir conexiones con listen().

Si tu equipo dispone de más de un IP (99.9% de los casos ya que 127.0.0.1 es
una IP diferente de la que le pongas en la red) y la dirección que le pasás
a bind() es una de las IP, sólo se recibirán conexiones que lleguen con
destino a esa IP.

Ej:

IP_1 10.25.42.33
IP_2 200.49.135.123

Si hacemos: bind(10.25.42.33:6677)

Se recibirá una conexión abierta hacia 10.25.42.33:6677 pero no hacia
200.49.135.123:6677

Naturalmente lo opuesto es cierto.

Si hacemos: bind(200.49.135.123:687)

Se recibirá una conexión abierta hacia 200.49.135.123:687 pero no hacia
10.25.42.33:687

Por último, si queremos abrir un puerto en todas las IP del equipo:

Hacemos: bind(0.0.0.0:687)
Se recibirá una conexión abierta hacia 200.49.135.123:687 y también hacia
10.25.42.33:687

Tanto el linux como en windows podés hacer "netstat -na" para ver todos los
puestos abiertos y la ip de cada caso.


On 8/6/07, Nicolas Valarino <[EMAIL PROTECTED]> wrote:
>
>  Hola, tengo una duda con respecto a la función bind() de sockets. La duda
> es la siguiente:
>
> ¿Por qué la función BIND toma como parámetro una estructura que tiene una
> IP? ¿En qué casos sirve esta IP?
>
> Leí por ahí que esta IP se utiliza para poner la IP de la máquina local en
> caso de tener varias (por el uso de placas de red, etc).
>
> También leí en un tutorial que la misma es la dirección del cliente que
> queremos atender.
>
> (Tutorial: http://www.chuidiang.com/clinux/sockets/sockets_simp.php
> Texto:  Finalmente *sin_addr.s_addr* es la dirección del cliente al que
> queremos atender. Colocando en ese campo el valor *INADDR_ANY*,
> atenderemos a cualquier cliente)
>
> Quería saber cual de las 2 es la correcta o si ambas lo son...
>
> Gracias
>
> Nicolas
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
>
>


-- 
_Leo_
(aka Lele)
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a