PDA

Ver la Versión Completa : Como obtener todas las pcs de la red?


bustio
13-05-2005, 22:28:09
Hola:

Les escribo por que necesito una funcion(o unit) que me devuelva los numeros de IP de las computadoras que estenc conectadas a mi red, o a mi subtrama de red. La unit que ofrecen en los trucos de este mismo sitio lo que me devuelve son los distintos grupos de trabajo que existen, pero no los IPs de las PCs.

Agradezco cualquier sugerencia

Gracias!!

Lazaro Bustio Martinez

zurdosoft
14-05-2005, 18:24:23
Este Truco (http://www.clubdelphi.com/vertruco.php?id=341) quizas te sirva.

bustio
13-08-2005, 19:58:55
Pues mira, que el truco parece que lo hace todo perfecto.. pero solo me devuelve el nombre de los grupos de trabajo que existen., no el nombre de las pcs que estan.... podria alguien decirme como lograr esto?

lucasarts_18
13-08-2005, 23:04:29
Hola:

Me sumo a ésta petición y, aparte de una Unit creo que podría haber alguna función de la Api de Windows.

Saludos :) .

Descendents
14-08-2005, 23:07:58
Mira este hilo, quizas te sirva

http://www.clubdelphi.com/foros/showthread.php?t=23907

bustio
26-08-2005, 22:08:29
Hola a la comunidad:

Cuando inicié el hilo de descubrir todas las PCs en una red, o al menos en un tramo de ésta lo hice con la idea de crear un procedimiento o un algoritmo para obtener todas las PCs que estuviesen conectadas y cumplieran con un requisito determinado. En ese momento me encontraba enfrascado en crear una aplicación de Base de Datos que se conectara a un servidor, pero no me convenía que en el ConnectionString de mi aplicación estuviese predeterminado a una PC fija, ya que mi Servidor de BD podía cambiar con el tiempo y la aplicación por lo tanto quedaría obsoleta, o en el mejor de los casos habría que cambiar en el código el ConnectionString. Para mi aplicación, un usuario cuando se sentara frente a ella, no necesariamente tendría que saber en que PC estaría ese Server de BD(MySQL por demás), y sería muy comodo que la propia aplicación mostrara todas las PCs que cumpliesen con esa condición: tener el Server de MySQL instalado.
Entonces surgió otro problema, cómo saber si una PC en la red tenia MySQL. Este problema se solucionó gracias a la cooperación de Kayetano de nuestra comunidad a traves de este mismo foro, y era súper sencilla: enviar un comando telnet Open xxx.xxx.xxx.xxx 3306 a la PC que se sospechaba tuviese el MySQL y luego esperar a ver que respondía ésta. Cuando esto se hace, la PC "sospechosa" nos responde con una cadena de bytes que vistos desde la consola TELNET corresponden a una serie de caracteres que evidente deben tener un significado(el cual no conozco y agradecería que alguien me pudiese aclarar este tópico) y entre ellos viene la versión del servidor instalada. Si en la PC "sospechosa" no hay instalado un Server de MySQL pues sencillamente no se puede establecer la conexión a traves del comando TELNET y allí no hay nada mas que buscar.
Solucionado este apartado venía la tarea más difícil de resolver a mi entender: descubrir todas las PCs en la red. El truco que está publicado en esta web, sección de trucos no lo resolvía puesto que solo mostraba los distintos WorkGroups de la red y no así las PCs que la conforman. Y gracias a la ayuda de Descendents, de nuestra comunidad que me sugirio ver un ejemplo en la web amiga www.wwwwwww.wwwww.com que enumeraba los recursos de red de las distintas PCs que la conforman, y modificando un poco este código, adicionándole lo deTELNET, conjuntamente con otras ideas propias logré una aplicación de ejemplo que lista las PCs de una red que tienen MySQL instalado.
Actualmente, solo esto que explico funciona a las mil maravillas; al menos en mi ambiente de trabajo y no me detengo: estoy haciendo lo mismo pero esta vez, integrado a la misma aplicación, para descubrir una serie de servidores como SQL Server 2000, Firebird, Sysbase entre otros,todos incluidos para conectarse a través del componente ZEOS, y lograr de esta manera una herramienta que a mi en lo personal me a servido de mucha ayuda pues a partir de ahora, en mis aplicaciones que manejen bases de datos ya no será necesario conocer el server al que conectarse, sino que la propia aplicación sugerirá a quién conectarse.

Estos resultados no podrían ser posible sin la cooperación de este magnifico Sitio y sin la ayuda de este foro, que por demás, es lo mejor que he visto sobre Delphi en la Red. Debo agradecer especialmente a ZurdoSoft, LucasArts_18, Descendents, Kayetano,

Y como mi trabajo es en gran parte el fruto de la ayuda y sugerencia de muchas personas, deseo hacer público el código fuente de la aplicación una vez concluida con todas las ideas que anteriormente expliqué. A todos aquellos que deseen cooperar de alguna manera, o mejorar el código, o sencillamente beneficiarse de él o analizarlo, por favor, enviar un email a lbustio@cenatav.co.cu o a lbustio@yahoo.es para enviarles una copia de la aplicacion por correo.

A toda la comunidad de Delphi, a ClubDelphi y a este foro, MUCHAS GRACIAS!!!

lucasarts_18
26-08-2005, 22:39:12
Hola:

Muchas gracias por tu interés de cooperación en esta comunidad, da gusto tener gente como tú...:)

Saludos...