Page 1 of 1

COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Thu Jan 07, 2021 1:47 pm
by rterraz
Hola amigos,
En un Sistema que tengo corriendo en una red local con unas 15 terminales, necesito en algunas oportunidades saber (desde el servidor de red) si hay terminales conectadas corriendo el sistema.
Se me ha ocurrido hacerlo usando Semaforos que se escriban cada vez que la terminal se conecta y se borren cuando se desconecta.
Tambien intente usar los IP locales de las terminales pero estos cambian y me impiden identificar con seguridad a cada terminal.
Alguien tiene alguna solución mejor para este tema ?
Agradezco cualquier idea o ayuda que puedan brindarme!
Un abrazo a todos

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Thu Jan 07, 2021 5:32 pm
by Victor Casajuana Mas
Una buena solución sería utilizar sockets, pero para que funcione, en el servidor siempre ha de estar corriendo el programa.

Enviado desde mi moto g(7) plus mediante Tapatalk

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Thu Jan 07, 2021 10:26 pm
by cmsoft
Una opción es, en lugar de usar la ip de la que se conecta, usar la función GetNetCardInfo()[1,1] (que te da la info de la placa de red, no de la ip). Esta no cambia (excepto que se cambie la placa, o tenga mas de una placa y se conecte en forma alternada entre una y otra)
El dato es del tipo: {807ABDAE-F95A-4D99-AC78-20481F62BC57}
Otra, es en el caso de que uses MySql, hacer un análisis con SHOW FULL PROCESSLIST, que te devolverá todas las terminales que están conectadas a la base de datos
Los datos que te devuelven son:
Id: Numero de proceso
User: Nombre de usuario de la base de datos del puesto
Host: Ip del puesto
db: Nombre de la base de datos que está usando
Command: Comando que está utilizando
Time: Tiempo que hace que está conectado
State: Estado del comando
Info: Información extra.
No es una solución pero tal vez te de una pista.

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Fri Jan 08, 2021 7:22 pm
by carito
Hola Cesar, que buen dato:

Una consulta ese dato que entrega la función GetNetCardInfo()[1,1] por ejemplo {807ABDAE-F95A-4D99-AC78-20481F62BC57} ,

es independiente de la cantidad de tarjetas que tenga instalado el equipo ? ,

ya que por ejemplo un notebook , tiene una tarjeta de red por el conector rj-45 , otra por la wifi , etc. , y poc cada una hay un ID.

Si es unica por todas, seria genial, me puedes confirmar por favor.

Gracias,

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Fri Jan 08, 2021 7:43 pm
by cmsoft
Exactamente!
Por cada adaptador te da un id unico
En este caso, te muestra el id de la primer placa que encuetra.
Pero la funcion es mas interesante aun, muestra muchos mas datos,
Prueba esta pequeña funcion para comprobar
Code: Select all  Expand view

function Main()
   xbrowse ( GetNetCardInfo())
return nil

Tambien puedes probar con esta otra
Code: Select all  Expand view

function Main()
   Xbrowse( GetNetCardID() )
return nil

Image

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Sat Jan 09, 2021 11:30 am
by carito
Gracias Cesar, lo voy a probar.
Muy buen dato !!, saludos

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

PostPosted: Mon Jan 25, 2021 1:32 pm
by karinha