Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-06-2007
rcuevas rcuevas is offline
Miembro
 
Registrado: nov 2006
Ubicación: Rosas - Gerona - España
Posts: 39
Poder: 0
rcuevas Va por buen camino
Exclamation IP's en Terminal Service

Buenas a todos/as,

He estado buscando la solución al siguiente problema, pero no la he encontrado. Como última instancia, acudo al pozo de conocimiento formado por una web como esta.

El caso es que tengo una aplicación, en Delhpi, que debe reconocer si existe una sesión de Terminal Server (TS a partir de ahora) allí donde se está ejecutando. En el caso de que exista, debe reconocer si esa sesión se está realizando desde un ordenador que pertenece a la misma red local o no.

El primer paso (saber si existe una sesión de TS) ya lo he conseguido. El segundo paso, saber si el origen de la sesión pertenece a la misma red local, pensé que lo lograría mediante la función WTSQuerySessionInformation (http://msdn2.microsoft.com/en-us/library/aa383838.aspx), pero no fue así.

Mediante esa función, obtengo la dirección IP del ordenador donde se inicia la sesión, pero esa IP es la IP local del ordenador que inicia la sesión, aunque este se encuentre en otra red. Esto es, obtengo una IP que, si no sé nada más, no puedo garantizar que no sea remota.

Lo ejemplificaré para que quede claro, ya no digo más claro pq comprendo que explicarlo con palabras es complicado. Dispongo de 2 redes, con un ordenador en cada red:
Red 1.1.1.0 (mascara 255.255.255.0) (ip pública 1.1.1.1)
-Ordenador 192.168.253.101

Red 1.1.2.0 (mascara 255.255.255.0) (ip pública 1.1.2.1)
-Ordenador 192.168.253.102

Si hacemos un http://www.whatismyip.com/ desde 1.1.1.101 obtengo, lógicamente, 1.1.1.1. Análogo si lo hago desde 1.1.2.101, obteniendo 1.1.2.1.
En cambio, si me conecto mediante TS del ordenador de la red 1.1.1.0 (192.168.253.101) al ordenador de la red 1.1.2.0 (192.168.253.102), la API de Windows enlazada antes me devuelve 192.168.253.101, por lo que con mi mascara llego a la conclusión de que el ordenador 192.168.253.101 está en mi misma red.

Entonces, la pregunta en cüestión es: Sabiendo las IPs que soy capaz de conocer, o mediante la API de Windows, hay algún modo de llegar a saber que la red del ordenador 192.168.253.101 es la red 1.1.1.0? Alguna API me puede decir la IP de la conexió de TS, no del ordenador que ha iniciado la sesión?

Muchísimas gracias a todos.

PD: Ahora viene cuando alguien me refresca algo básico que he olvidado completamente y que resuelve el problema de un modo trivial.

Última edición por rcuevas fecha: 25-06-2007 a las 17:09:46.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Anular proxy para Ip's Locales RHLeone Internet 1 03-10-2005 13:51:54
Enviar stream por internet a varias ip's a la vez federicoboga Internet 5 27-06-2005 06:18:09
Apertura BD Interbase y Terminal Service PauSem Firebird e Interbase 1 23-02-2005 22:00:17
Terminal Service y Delphi cafupe Internet 0 26-10-2004 01:42:30
Service y Application Service Ezecool Varios 0 30-09-2003 18:48:30


La franja horaria es GMT +2. Ahora son las 18:05:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi