none
Acceder a internet con C++ sin utilizar navegador RRS feed

  • Pregunta

  • Al hilo de una pregunta que hice hace tiempo de cómo abrir IE desde C++.
    ¿Habría alguna opción de acceder a datos a través de internet sin utilizar un navegador? Algún comando de C++ que permitiera al programa recibir datos (de una cámara IP por ejemplo) y poder interpretarlos una vez recibidos. Por ejemplo identificar la imagen que envía esa cámara dentro de todos los datos que se reciben. No se si habrá alguna opción para ello

    Gracias!!!
    martes, 29 de septiembre de 2009 11:07

Respuestas

Todas las respuestas

  • No es fácil, pero puedes hacerlo de dos formas.

    La primera es embeber el control del explorador mediante COM y entonces lo controlas tu. El Visual Studio tiene para MFC un asistente COM que te hace el envoltorio él solo, luego tendrás que ver cómo obtener la imagen de la página web cargada. Yo hice algo parecido hace un porrón de años pero no me acuerdo absolutamente de nada...

    La otra es mediante sockets: abre un socket a la cámara, simula ser un cliente web, enviando comandos "get" y demás, que lo mismo ni te hace falta, con sólo apuntar el socket a la cámara recibes la imagen directamente.
    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    martes, 29 de septiembre de 2009 11:41
    Moderador
  • Mi idea era capturar con un sniffer los paquetes que se reciben de la cámara e intentar identificar los que contienen la imagen para que el programa los seleccionara. Otra idea era utilizar un intérprete de javascript, porque la mayoría de las cámaras a las que apunto tienen sus comandos definidos así.

    Tendré que investigar un poco más en Visual Studio porque me suena un poco a chino esto que me has puesto y no me he aclarado demasiado :-)

    La idea así genérica es que el programa termine reconociendo la cámara como si estuviera diréctamente conectada al equipo, es decir, generar una especie de driver virtual que permita que esa cámara remota aparezca en una lista de dispositivos como si estuviera conectada diréctamente.

    Gracias por la respuesta!!
    martes, 29 de septiembre de 2009 11:59
  • La forma de hacerlo mediante un sniffer pienso que es una locura.

    Controlar el IE mediante COM está explicado aquí: http://msdn.microsoft.com/en-us/library/aa752042(VS.85).aspx

    Lo de hacerlo mediante sockets es simular un navegador web, ya que de hecho un navegador es eso mismo: un programa que se conecta a un servidor mediante un socket. Aquí tienes varias explicaciones de cómo funcionan:

    http://www.programacionenc.net/modules.php?name=Tutoriales&d_op=vertuto&lid=51
    http://vteforte.tripod.com/sockets.htm


    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    miércoles, 30 de septiembre de 2009 10:19
    Moderador
  • Muchas gracias!!!

    Voy a investigarlo y a ver qué sale. Gracias por la molestia, de verdad.
    miércoles, 30 de septiembre de 2009 10:32