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 para el software heredado para haga una conexión y luego lea lo que sea que nos envíe.TcpListener: Escuche en cada dirección, incluida la dirección IP GPRS
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 servidor de seguridad.
¿Entonces tal vez haya algún problema con mi TcpListener?
Se inicializa la siguiente manera:
tcpServer = new TcpListener(IPAddress.Any, TCP_PORT);
Estoy asumiendo que escucha en todas las interfaces habilitadas IPv4 disponibles en el sistema, porque solía 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?
Interesante que un código de prueba compilado/ejecutándose bajo Mono, comienza a escuchar en 0.0.0.0 si el IPAddress.Any se pasa al constructor. –
Está usando IPAddress. ¿Algo análogo al uso del constructor TcpListener (int Port) que está en desuso? –