uso - tcp ip visual c#
TcpListener: escucha en todas las direcciones, incluida la dirección IP GPRS (1)
Debe especificar la dirección IP en la que desea escuchar, en lugar de IPAddress.Any. Mira aquí . Cuando use IPAddress.Any, automáticamente elegirá la interfaz de red para usted. Para escuchar en una determinada interfaz (en su caso, GPRS), debe usar la IP correcta en el constructor.
Esta publicación contiene más información sobre cómo obtener la dirección IP para cada nic.
Además, si está buscando escuchar en cada dirección IP a la vez, necesitará un TcpListener para cada nic.
Tenemos una pieza simple de software heredado con la que necesitamos comunicarnos mediante TCP / IP a través del puerto 15001. Necesitamos escuchar en el puerto 15001 el software heredado para hacer una conexión y luego leer lo que nos envíe.
Hemos probado esta solución a través de Internet y funciona muy bien. Sin embargo, si probamos la misma solución a través de una red GPRS TCP / IP, no es así.
Se han verificado todos los aspectos básicos, podemos hacer ping a otros dispositivos en la red GPRS y el puerto 15001 no está bloqueado por ningún firewall.
Entonces, ¿hay algo mal con mi TcpListener?
Se inicializa así:
tcpServer = new TcpListener(IPAddress.Any, TCP_PORT);
Supongo que escucha en cada interfaz habilitada para IPv4 disponible en el sistema, porque utilicé IPAddress.Any?
¿Alguien tiene alguna idea de la diferencia entre las dos redes? (Aunque no debería haber ninguna diferencia) y si hay algo que deba cambiar a mi TcpListener?