COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby rterraz » Thu Jan 07, 2021 1:47 pm

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
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby Victor Casajuana Mas » Thu Jan 07, 2021 5:32 pm

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
Victor Casajuana Mas
 
Posts: 6
Joined: Thu Jun 06, 2019 1:15 pm

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby cmsoft » Thu Jan 07, 2021 10:26 pm

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.
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby carito » Fri Jan 08, 2021 7:22 pm

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,
carito
 
Posts: 71
Joined: Sat Dec 03, 2016 2:49 pm

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby cmsoft » Fri Jan 08, 2021 7:43 pm

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
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby carito » Sat Jan 09, 2021 11:30 am

Gracias Cesar, lo voy a probar.
Muy buen dato !!, saludos
carito
 
Posts: 71
Joined: Sat Dec 03, 2016 2:49 pm

Re: COMO DETECTAR TERMINALES CONECTADAS A UN SERVIDOR DE RED

Postby karinha » Mon Jan 25, 2021 1:32 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 66 guests