Como abrir un puerto con sockets en .net usando IP Pública

Iniciado por misionero2018, 5 Junio 2019, 02:48 AM

0 Miembros y 2 Visitantes están viendo este tema.

misionero2018

Que tal amigos, estoy implementando una función de cliente-servidor mediante sockets en c#, mi objetivo es poner a la escucha una aplicación de escritorio que se enlazará por la ip pública , hasta ahora no he encontrado info en internet que lo haga,todo es en local, cuando corro mi aplicacion solo me arroja que 'La dirección solicitada no es válida en este contexto'.
éste es mi codigovar ippublica = new System.Net.WebClient().DownloadString("http://misitioweb.com/ip.php");
IPAddress direc = Dns.Resolve(ippublica).AddressList[0];
_tcpListener = new TcpListener(IPAddress.Parse(direc), port);
               _tcpListener.Start();
               _acceptThread = new Thread(AceptarClientes);
               _acceptThread.Start();



también probé con
var ippublica = new System.Net.WebClient().DownloadString("http://misitioweb.com/ip.php");
           IPAddress direc = Dns.Resolve(ippublica).AddressList[0];//Dns.GetHostEntry("localhost").AddressList[0];
           IPEndPoint Ep = new IPEndPoint(direc, 12345);
           Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
           socket.Bind(Ep);
           socket.Listen(100);
           Socket handler = socket.Accept();

tengo acceso al módem y ya intenté abrir el puerto en la sección de activador de puertos, el modem es un HUAWEI HG659 , he intentado con puertos 81,82,1300 y naranjas.Ya no se que mas puedo hacer[/color]

ivancea96

Tu red tendrá una Ip pública, que será desde la cual accedes desde fuera. En tu router le tendrás que "abrir el puerto" diciéndole que las conexiones a ese puerto las lleve a tu PC (dandole la ip local de tu PC).

A TcpListener le puedes dar solo el puerto, no tienes que pasarle el parámetro IP.

misionero2018

Cita de: ivancea96 en  5 Junio 2019, 23:05 PM
Tu red tendrá una Ip pública, que será desde la cual accedes desde fuera. En tu router le tendrás que "abrir el puerto" diciéndole que las conexiones a ese puerto las lleve a tu PC (dandole la ip local de tu PC).

A TcpListener le puedes dar solo el puerto, no tienes que pasarle el parámetro IP.


Gracias por responder, pero quiero publicar aquí la forma en q procedí a realizar la apertura en el módem, pues sigue sin abrirlo cuando escaneo en la web, me dice que este puerto está cerrado y los inútiles de telmex te piden todos tus datos para decir que en internet busque un manual de mi router >:(

misionero2018

Cita de: misionero2018 en  7 Junio 2019, 02:37 AM

Gracias por responder, pero quiero publicar aquí la forma en q procedí a realizar la apertura en el módem, pues sigue sin abrirlo cuando escaneo en la web, me dice que este puerto está cerrado y los inútiles de telmex te piden todos tus datos para decir que en internet busque un manual de mi router >:(
Y perdón que insista, pero como es que programan cosas como TeamViewer, SAE y muchos otros que no requieren meterse al módem a abrir puertos :o y se conectan remotamente a cualquier máquina de su sistema? hay algún protocolo distinto a tcp o lenguaje especial q permita esa programación?

rub'n

Cita de: misionero2018 en 15 Junio 2019, 08:02 AM
Y perdón que insista, pero como es que programan cosas como TeamViewer, SAE y muchos otros que no requieren meterse al módem a abrir puertos :o y se conectan remotamente a cualquier máquina de su sistema? hay algún protocolo distinto a tcp o lenguaje especial q permita esa programación?

TCP/UDP hole punching, como P2P


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

animanegra

Citar
como es que programan cosas como TeamViewer, SAE y muchos otros que no requieren meterse al módem a abrir puertos

Usan UPNP un protocolo que permite hablar con el router desde la LAN para que deje pasar los paquetes de un puerto dado y los redirecciones a un puerto e IP interna (Mayormente a quien hace la petición).

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.

misionero2018

Cita de: animanegra en 15 Junio 2019, 16:45 PM
Usan UPNP un protocolo que permite hablar con el router desde la LAN para que deje pasar los paquetes de un puerto dado y los redirecciones a un puerto e IP interna (Mayormente a quien hace la petición).

Excelente Máster,  :) eso es lo que quería escuchar, el secreto nos dá el poder a los programadores a un nivel avanzado ;-)

misionero2018

Cita de: rub'n en 15 Junio 2019, 08:15 AM
TCP/UDP hole punching, como P2P
Mil gracias, justo lo que buscaba, lo que no quiere el gobierno que sepamos ::)

rub'n

#8
Cita de: misionero2018 en 17 Junio 2019, 04:23 AM
Mil gracias, justo lo que buscaba, lo que no quiere el gobierno que sepamos ::)

Mmm creo que no funciona con tecnología GSM tipo 3g, y otra cosa UPNP no es lo que buscas. Sino lo que te mencione, también le dicen Nat traversal, como ngrok.

Edit, y 4g.


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen