¿Cómo saber mediante programación si el puerto, introducido por el usuario, está siendo utilizado por un servicio en particular?

Quiero instalar una actualización importante de una aplicación, la aplicación utiliza servicios particulares que escuchan en los puertos dados como entrada por el usuario. La verificación del puerto en uso se realiza mediante programación antes de que se desinstale la versión anterior de la aplicación y se instale su actualización.

Quiero que mi instalador permita que sus servicios escuchen en puertos particulares si la versión anterior de los servicios de la aplicación está escuchando en los mismos puertos que ingresó el usuario mientras realiza una actualización importante.

preguntado el 08 de noviembre de 11 a las 12:11

1 Respuestas

Si se toma en serio este enfoque, determine el PID de su servicio en ejecución y luego búsquelo en el resultado de GetExtendedTcpTable con TCP_TABLE_OWNER_PID_ALL conjunto.

Sin embargo, supongo que le resultará mucho más fácil olvidarse de los sockets de escucha reales y simplemente buscar la información de configuración en el registro o los archivos de configuración, por lo que tal vez debería reconsiderar su enfoque.

respondido 08 nov., 11:17

Gracias por la respuesta Themel.Registry y los archivos de configuración no contienen información sobre los números de puertos que utilizan los servicios de mi aplicación. :( - Sonal Jain

Entonces, ¿cómo sabe la aplicación instalada en qué número de puerto escuchar? - themel

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.