Windows NT - Trabajando con la libreria WinInet

 
Vista:

Trabajando con la libreria WinInet

Publicado por Alberto (3 intervenciones) el 25/09/2002 17:14:51
Trabajando con esta libreria me a surgido el siguiente problema. La función de callback no recibe notificacion de desconexion de cierto servidores. ¿Es esto normal o estoy haciendo algo mal?¿Existe alguna manera de forzar la desconexión?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Trabajando con la libreria WinInet

Publicado por Javier Ruiz (814 intervenciones) el 26/09/2002 10:35:49
Debes contemplar los estados de dwInternetStatus.....
Por ejemplo:
typedef void (CALLBACK *INTERNET_STATUS_CALLBACK)( HINTERNET hInternet,
DWORD_PTR dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength
);

Entonces dwInternetStatus te sirve para hacer un seguimiento del proceso de la conexión.
Monitoriza los valores y dime que te devuelve dwInternetStatus cuando se te queda colgado.

Saludos,
Javi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Trabajando con la libreria WinInet

Publicado por Alberto (3 intervenciones) el 26/09/2002 20:28:44
El problema no es que se me quede colgado. El problema es que no recibo el mensaje de INTERNET_STATUS_CONECTION_CLOSE con alguno sitios web. Lo que yo quiero saber es si puedo forzar ese cierre de conexion. Es decir, si yo me conecto dos veces consecutivas al mismo sitio web sin salir de la aplicacion quiero que en ambas se realice una conexion. Ahora mismo soy incapz porque la primera vez que se realiza la conexion esta no se cierra y por tanto la segunda vez no comienza de cero ya que la conexion esta abierta y por tanto no se vuelve a abrir otra.

Gracias por atenderme Javi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Trabajando con la libreria WinInet

Publicado por Javier Ruiz (814 intervenciones) el 27/09/2002 10:06:36
Puedes usar InternetCloseHandle .
Por ejemplo......
'Cierras la conexión
InternetCloseHandle(m_httpFile);
'Quitas el CallBack
InternetSetStatusCallback( m_Session, NULL );
'Cierras la sesión
InternetCloseHandle(m_Session);

Saludos,
Javi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Trabajando con la libreria WinInet. Esto no va.

Publicado por Alberto (3 intervenciones) el 01/10/2002 10:51:44
Gracias por tu ayuda Javi, pero esto no va. Yo no creo que haga algo mal. Creo que simplemente windows guarda durante un rato la conexion, a modo de una cache, para minimizar el tiempo de reconexión. Sea como sea parece que voy a tener que hacer una especie de parche para esto. En realidad he hecho una prueba. He creado un proceso hijo que se conecta justo despues de que el principal haya cerrado la conexion. Asi casi funciona. El primero sigue sin desconectarse, pero el segundo actua de forma totalmente independiente por tanto da la sensación de que el primero cierra la conexión. No es una solución muy elegante pero por ahora va a ir asi.
Muchas gracias, de nuevo, por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar