Foro de elhacker.net

Programación => Java => Mensaje iniciado por: kalabze en 8 Mayo 2019, 19:00 pm



Título: Socket en java ...Chat fuera de la red local
Publicado por: kalabze en 8 Mayo 2019, 19:00 pm
Es cierto que para que hayga  conexión(especificamente es un chat) entre la aplicación java cliente-servidor fuera de la red local ( obviamente el servidor esta en mi red local   y el cliente esta fuera de mi red local ) tengo que hacer una configuración manual en el router (mapeo creo asi  le dicen)
si es asi por que  cuando  uno  instala un programa  NO HAY NECESIDAD de hacer esa configuración manual en el router???.....algún experto que me explique esto por favor ........mi programa chat funciona de maravilla dentro de mi red  local pero quiero que funcione fuera de ella.


Título: Re: Socket en java ...Chat fuera de la red local
Publicado por: rub'n en 8 Mayo 2019, 19:09 pm
Esos programas que dices pues depende el protocolo que usen que no tienes necesidad de abrir en el router puertos por ejemplo app como team viewer usan si mal no recuerdo Conexion UDP

Pero seguro tú tienes tú sockets típico con tcp, así que te toca abrir en el router para que tú cliente se conecte por medio de esa IP publica con puerto.

La conexión que tienes es directa por medio de tu socket.



La técnica por lo visto es UDP-hole punching, muchos clientes P2P la usan.


Título: Re: Socket en java ...Chat fuera de la red local
Publicado por: animanegra en 8 Mayo 2019, 19:31 pm
Existe un protocolo que basicamente es parecido a una peticion web llamado upnp que permite al ordenador de dentro de la red decir al router que el puerto de salida X lo mapee a su puerto abierto Y. De manera que no hace falta hacerlo de forma manual, es lo que usan aplicaciones como bittorrent por ejemplo. El router debe de soportar Upnp y tenerlo activado (En general los routers que dan las operadoras suelen ternelo activado por defecto.)


Título: Re: Socket en java ...Chat fuera de la red local
Publicado por: kalabze en 9 Mayo 2019, 13:08 pm
rub'n  ...Entonces  Todos los programas que ten tengo instalado desde internet  usan el protocolo UDP??


Título: Re: Socket en java ...Chat fuera de la red local
Publicado por: kalabze en 9 Mayo 2019, 13:17 pm
rub'n......Mi duda es esa por que los programas  que descargo desde internet no  hay necesidad de configurar nada en el Router  en cambio   mi programa que es un chat tengo que configurar  hacer un mapeo de puertos y no se que cosa mas.... eso es lo que no entiendo


Título: Re: Socket en java ...Chat fuera de la red local
Publicado por: kalabze en 9 Mayo 2019, 13:27 pm
animanegra....  Mi router (hitron cgnv21 de movistar)  tengo DESACTIVADO upnp(esto me vino por defecto)  y apesar de ello cuando instalo un programa desde internet no tengo la necesidad de configurar nada en mi router


Título: Re: Socket en java ...Chat fuera de la red local
Publicado por: rub'n en 9 Mayo 2019, 13:37 pm
No todas la apps abren puertos, y las que lo hacen, hacen una implementación para eso, con UDP , upnp, u otros, como ya te comentamos sobre esos dos.

No hagas triple post dog, edita tus comentarios




Si necesitas abrir los puertos en el router eso es fácil, y crearte un dnsdinamico, como noip, dyndns etc.

Si tú conexión es inversa donde el servidor conecta a tu cliente, igual  tú deberías abrir puertos.


Edición.

hey no me acordaba de Ngrok (https://ngrok.com/). intenta usarlo y no abrirás puertos