elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Source OnlineChecker [PHP & VB]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Source OnlineChecker [PHP & VB]  (Leído 2,061 veces)
‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Source OnlineChecker [PHP & VB]
« en: 1 Julio 2008, 22:25 pm »

El sistema permite saber desde una pagina web si el programa esta corriendo (online), o no (offline).

Incluso se puede implementar para saber las estadisticas de nuestros programas.

Hace tiempo tube la necesidad de que un programita tuviera esta funcion, de tal modo para yo saber si el programa estaba abierto o cerrado; asi qe me puse a pensar como hacerlo y me surgio la idea de los contadores de visitantes activos usados en programacion de paginas webs, asi que me puse a estudiar un poco de php y saber la forma de poderlo relacionar con VB.
Se me vino la idea de los browsers; asi que invesitigue un poco y pude terminar el subprograma.

para ello necesitamos una BD (base de datos: mysql) para almacenar la informacion,  un script que nos muestre el resultado (state.php), otro script que informe a la BD su estado; y un codigo que ejecute la pagina web en el programa.

Debemos poseer una Base de Datos del tipo mysql para poder usar adecuadamente nuestro script.
Usare tripod.lycos.es para nuestra BD y alojar nuestros dos ficheros.
Te creas una cuenta en tripod.lycos.es y activas esta herramienta: PHP4U
la cual servira para la BD, luego abres la pagina de PHP4U que alli mismo encuentras y ahora veras una opcion de "Crear nueva tabla en base de datos" y pones nombre: visitantes, y en el numero de campos: 2
Necesitamos crear una base de datos llamada 'visitantes' con estos campos:

'ip' VARCHAR( 16 ) NOT NULL
'fecha' INT( 11 ) NOT NULL
 y tendras algo como esto:


Dejo aqui dos enlaces para poder entender el codigo de los scripts:
Conexion a la BD: http://www.programacionweb.net/articulos/articulo/?num=51
Visitantes Activos: http://www.programacionweb.net/articulos/articulo/?num=135


state.php
Código
  1. <html><head>
  2. <script language="javascript">
  3. window.onload = new Function(null)</script></head><body>
  4. <title>Estado del Server</title>
  5. <body onLoad="setTimeout('self.location.reload()', 5000)">
  6. <?
  7. // Configura tu conexion
  8. $db=mysql_connect( 'localhost','user_db','' ); // Aqui cambias user_db por el nombre de tu base de datos
  9. mysql_select_db("contador", $db);
  10. $limite = time()- 20; // 20 segundos
  11. global $REMOTE_ADDR;
  12. $ip = $REMOTE_ADDR;
  13. mysql_query("delete from visitantes where fecha < " .$limite,$db); // Eliminamos deacuerdo al tiempo
  14.  
  15.  
  16. if (mysql_result (mysql_query("SELECT COUNT(ip) FROM visitantes" ,$db),0 ) != 0 ){
  17. echo "<font face='verdana'><center>===========================<br>";
  18. echo "<b>jackl007</b><br>";
  19. echo "-------------------------------------------------<br>";
  20. echo " Estado del Server: <b><font color='green'>Online</font></b>  <br>";
  21.  
  22. echo "-------------------------------------------------<br>";
  23. echo "===========================</font></center>";
  24. }
  25. else {
  26. echo "<font face='verdana'><center>===========================<br>";
  27. echo "<b>jackl007</b><br>";
  28. echo "-------------------------------------------------<br>";
  29. echo " Estado del Server: <b><font color='red'>Offline</font></b>  <br>";
  30. echo "-------------------------------------------------<br>";
  31. echo "===========================</font></center>";
  32. }
  33.  
  34. ?>
  35. <noframes><iframe><noscript><xmp><pre>

monitorear.php
Código
  1. <html><head>
  2. <script language="javascript">
  3. window.onload = new Function(null)</script></head><body>
  4. <?
  5. // Configura tu conexion
  6. $db=mysql_connect( 'localhost','user_db','' ); // Aqui cambias user_db por el nombre de tu base de datos
  7. mysql_select_db("contador", $db);
  8. $limite = time()- 30; // 30 segundos
  9. global $REMOTE_ADDR;
  10. $ip = $REMOTE_ADDR;
  11. mysql_query("delete from visitantes where fecha < " .$limite,$db);
  12. $result = mysql_query( "select ip from visitantes where ip = '$ip'",$db);
  13. if (mysql_num_rows($result) !=  0){
  14.  mysql_query("update visitantes set fecha = " .time()." where ip = '$ip'" ,$db);
  15. }
  16. else mysql_query("insert into visitantes (ip, fecha) values ('$ip', " .time().")" ,$db);
  17.  
  18. ?>
  19.  
  20. <noframes><iframe><noscript><xmp><pre>
  21.  

Ahora en nuestro proyecto de VB agregamos el control: Microsoft Internet Controls (para el webbrowser) y agregamos un control del mismo tipo al que llamaremos wb.
agregamos un Timer con Interval = 10000
y este trocito de codigo
Código
  1. Private Sub Timer1_Timer()
  2. wb.Navigate "http://usuarios.lycos.es/(...)/monitorear.php"
  3. End Sub
donde (...) es el nombre de usuario tuyo que has creado en tu cuenta de tripod.lycos.es

Tambien se puede usar el contro Inet, pero el control que puse siempre esta en los ordenadores, porlo que ya no necesitamos llevar el dll del control para poder usarlo, lo que hace nuestro programa potable.


Saludos


« Última modificación: 1 Julio 2008, 22:28 pm por jackl007 ツ » En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #1 en: 1 Julio 2008, 22:32 pm »

emmm el contro que usas solo funciona con IE6, en ie7 funciona de otra manera y no te deja implementarlo en el codigo...

y... parece bueno el code.. pero no es mas facil guardar estos datos en un txt y despues mostarlo en el php????


sl2


En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #2 en: 1 Julio 2008, 22:37 pm »

Claro, es una de las muchas maneras de hacerlo, pero las BD fueron diseñadas para no usar ficheros txt para almacenar info, por eso lo coloque asi.
En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #3 en: 1 Julio 2008, 23:14 pm »

yo me he perdido... has montado todo eso para comprobar si existe conexión a internet?


En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #4 en: 2 Julio 2008, 00:18 am »

yo me he perdido... has montado todo eso para comprobar si existe conexión a internet?





Citar
El sistema permite saber desde una pagina web si el programa esta corriendo (online), o no (offline).
En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #5 en: 2 Julio 2008, 00:25 am »

Podrias saber si tu pc esta encendida o no, desde tu movil, (si es que el programa arranca junto con windows).
y muchas de cosas mas.  ::) ::)
En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #6 en: 2 Julio 2008, 11:27 am »

Podrias saber si tu pc esta encendida o no, desde tu movil, (si es que el programa arranca junto con windows).
y muchas de cosas mas.  ::) ::)

lo único que veo últil es la cantidad de usuarios conectados, el resto con un ping resuelto
En línea

Distorsion

Desconectado Desconectado

Mensajes: 238


15Hz ~ 20Hz


Ver Perfil
Re: Source OnlineChecker [PHP & VB]
« Respuesta #7 en: 2 Julio 2008, 14:58 pm »

Pues modificandolo un poco lo veo util, como comprobar que nuestros software de pago no esta siendo usado con una misma licencia por varios usuarios y esas cosas.
Saludos.
En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Source OnlineChecker [PHP & VB]
« Respuesta #8 en: 2 Julio 2008, 19:16 pm »

como comprobar que nuestros software de pago no esta siendo usado con una misma licencia por varios usuarios y esas cosas.
ese es el punto ;D ;D ;D ;D ;D ;D


de paso pueden aprender un poco de mysql para solventar ciertos problemas de otro modo.
 :D
« Última modificación: 2 Julio 2008, 19:37 pm por jackl007 ツ » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines