Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/02/2010, 10:23
Avatar de genuine_carlosV2
genuine_carlosV2
 
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Problema con sonexión entre sockets

Buenas,

Has abierto el puerto en el router?

Para que haya conexión necesitas poder llegar hasta el ordenador:
Cliente <-> Internet <-> ( Router <-> Servidor )

Los paréntesis indican una red LAN (es decir, una red privada desde la que no se tiene acceso desde internet)

La IP a la que debes llamar es la IP del router (la IP pública). Cuando la petición de conexión llega al router, éste, tiene que saber que hacer:
- Si no tiene ninguna regla, desestima la petición (la cancela)
- Si tiene una regla, la aplica

Las reglas suelen ser de este tipo (de forma lógica):
Si recibes una petición en le puerto P, la reenvías a la IP de la LAN I y al puerto X

Crear reglas de este estilo es lo que se conoce como "abrir puertos" en un ruter.

Luego, el servidor I tiene que tener un programa (imagino, el que estas haciendo) abierto en el puerto X para aceptar la conexión.

Más información:
- NAT (Concretamente, DNAT)
- Abrir puertos (Busca un tutorial para tu router si no sabes hacerlo)

P.D.: Cuando dices que pones tu IP externa, espero que no estés probando de llamar a tu programa con la IP externa de tu router estando tú dentro de la red LAN (eso es una tontería y los routers no saben como redireccionar estas peticiones)... Como mucho, prueba a poner la IP de tu ordenador (no solo la IP de localhost), pon ifconfig en linux o ipconfig en windows para saberla

Carlos