Manejo de funciones para conexiones gprs

Post Reply
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Manejo de funciones para conexiones gprs

Post by Elias Torres »

Hola a todos.
Ahora mismo estoy metido con las conexiones por gprs. Mi intención es que desde código puede lanzar la conexión, ver el estado y desconectarla. Gracias al amigo Biel que me ha suministrado estas funciones he empezado a mirarlas pero no se como usarlas. Las funciones, para empezar son estas:

HB_FUNC (GPRSCONNECT)
{
HANDLE phWebConnection = NULL;
DWORD pdwStatus = 0;

ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
CONNMGR_CONNECTIONINFO sConInfo;
memset (&sConInfo,0, sizeof (CONNMGR_CONNECTIONINFO));
sConInfo.cbSize = sizeof (CONNMGR_CONNECTIONINFO);
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP;
sConInfo.bExclusive = FALSE;
sConInfo.bDisabled = FALSE;
sConInfo.guidDestNet = IID_DestNetInternet;


if (ConnMgrEstablishConnection (&sConInfo, &phWebConnection) == S_OK)
{
unsigned int k;

for( k = 0; k < 8; k ++)
{
ConnMgrConnectionStatus(phWebConnection,&pdwStatus);
if (pdwStatus == CONNMGR_STATUS_CONNECTED)
{
hb_retl (TRUE);
}
else
{
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
Sleep (2500);
ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
if (pdwStatus == CONNMGR_STATUS_WAITINGCONNECTION)
{}
if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
{
hb_retl (FALSE);
}
}
}
hb_retl (FALSE);
}
else
{
hb_retl (FALSE);
}
}
}

Si alguien puede echarme una mano para ver como puedo llamar a esas funciones se lo agradeceria....

Saludos.

Elías Torres.
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Post by Elias Torres »

Hola a todos....

Ya he conseguido que me haga la conexión desde código, pero no consigo que me desconecte una vez enviado el fichero.

La función que estoy utilizando es:

HB_FUNC (GPRSRELEASE)
{
HANDLE hCon= NULL;
ConnMgrReleaseConnection( ( HANDLE ) hb_parnl( 1 ),2 );
}

Nose si me falta algo..No da error pero no me desconecta.. Alguna idea??

Saludos.

Elías Torres.
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Hola Elias,
La función GprsConnect que te pase, tiene un pequeño cambio con respecto a la de Pawel, y es que en lugar de devolver verdadero o falso, devuelve el numero de handler de la conexion.
Guarda ese numero en una variable, y despues pasalo como parametro a GprsRelease.

Espero te funcione.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Post by Elias Torres »

Biel, gracias por la ayuda. He hecho lo que me comentabas y todo ha funcionado correctamente....


Saludos.

Elías Torres.
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Post by Vikthor »

Elias Torres wrote:Biel, gracias por la ayuda. He hecho lo que me comentabas y todo ha funcionado correctamente....


Saludos.

Elías Torres.
Que versión de FWPCC y de Wmobile están usando ?
Vikthor
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Post by Elias Torres »

Hola Viktor.

Estoy usando el build de febrero '07 y el compilador del Harbour es 46.2 (Flex). En cuanto a WMobile utilizo una PDA Qtek s200 con Windows Mobile 5 y todo me ha funcionado perfectamente gracias a la ayuda de Biel.



Saludos.
Elías Torres.
Salvador
Posts: 142
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Post by Salvador »

Biel.
Podrías postear las funciones para GPRS con las modificaciones que agregaste.
En que versión de Windows las has utilizado ?.
Gracias.

Salvador Gallardo.
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Hola Salvador,
estas son las funciones que uso para conexion y desconexion GPRS. Las he probado con Windows mobile 2003 y 2005. Esta funcion la posteo en el foro Pawel, yo solo le hecho un pequeño cambio.

Code: Select all

HB_FUNC (GPRSCONNECT)
{
   // By Pawel 
   HANDLE phWebConnection = NULL;
   DWORD pdwStatus = 0;
   //Comprobamos si ya estamos conectados.
   ConnMgrConnectionStatus (phWebConnection, &pdwStatus);
   if (pdwStatus == CONNMGR_STATUS_CONNECTED) 
   {
      hb_retnl( (long) 0 );
   }
   else
   {
      //No estamos conectados.
      //CONNECTIONINFO es la estructura que
      //le indica al Connection manager como nos queremos conectar.
      CONNMGR_CONNECTIONINFO sConInfo;
      memset (&sConInfo,0, sizeof (CONNMGR_CONNECTIONINFO));
      sConInfo.cbSize = sizeof (CONNMGR_CONNECTIONINFO);
      sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET; //Queremos usar parametros "GuisDesNet"
      sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE; //Esta es la prioridad mas alta.
      sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP;
      sConInfo.bExclusive = TRUE ; //Permitimos compartir la conexion con otras aplicaciones.
      sConInfo.bDisabled = FALSE;
      sConInfo.guidDestNet = IID_DestNetInternet;

      if (ConnMgrEstablishConnection (&sConInfo, &phWebConnection) == S_OK)
      {
         for (unsigned int k = 0; k < 8; k ++)
         {
            ConnMgrConnectionStatus(phWebConnection,&pdwStatus);
            if (pdwStatus == CONNMGR_STATUS_CONNECTED)
            {
               hb_retnl( (long) phWebConnection );
            }
            if (pdwStatus == CONNMGR_STATUS_CONNECTIONCANCELED || pdwStatus == CONNMGR_STATUS_WAITINGCONNECTIONABORT)
            {
               hb_retnl( (long) -1 );
            }
            Sleep (2500);
         }
         hb_retnl( (long) phWebConnection );
      }
      else
      {
         hb_retnl( (long) -1 );
      }
   }
}


HB_FUNC (GPRSRELEASE)
{
   HANDLE hCon= NULL;
   ConnMgrReleaseConnection( ( HANDLE ) hb_parnl( 1 ),2 );
}
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Salvador
Posts: 142
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Post by Salvador »

Muchas gracias Biel. :D
Saludos
Salvador
Salvador
Posts: 142
Joined: Sun Dec 18, 2005 3:18 pm
Location: España

Post by Salvador »

Muchas gracias Biel. :D
Saludos
Salvador
Post Reply