Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Detectar Conexión Internet

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Detectar Conexión Internet Responder citando

Hola a todo el mundo.

Pongo este mensaje por que estoy tratando de hacer una aplicación que mande de forma totalmente automatica E-Mails por Internet, sin que el usuario tenga que darle al boton de enviar.

Mi problema es que mi aplicación no es capaz de detectar cuando mi PC esta conectado a Internet.

Para mandar E-Mail,s he usado el componente NMSMTP, e intentado detectar si hay Internet con la función NMSMTP1->Connected, pero nada no se entera.

Creo que esto se puede realizar mediante las API,s, pero la verdad no se por donde empezar por lo que agradecería cualquier tipo de ayuda.

Un saludo al Foro.

P.D.:No se si será relevante pero tengo una conexión de 56K.

Volver arriba
Mensaje    Asunto: Responder citando

Las siguientes funciones del API pueden serte útiles:

    InternetGetConnectedState
    InternetGetConnectedStateEx
    RasGetConnectStatus
    RasEnumConnections
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Re: Detectar Conexión Internet Responder citando

Cita:
Para mandar E-Mail,s he usado el componente NMSMTP, e intentado detectar si hay Internet con la función NMSMTP1->Connected, pero nada no se entera.


Hola Francisco José, no he utilizando nunca ese componente pero echándole un vistacillo rápido a la ayuda me da que quizás el problema es que no has cambiado la propiedad Timeout, que por defecto está a 0 y significa que nunca se produzca un Timeout. Extraido de la ayuda de BCB:

Description

The TimeOut property specifies the amount of time (in milliseconds) to wait for a response from the socket before an exception is raised and the current operation is aborted. If TimeOut is 0, an exception is never raised, and operations never time out.


Espero que te sea útil, un saludo.
Volver arriba
Mensaje    Asunto: Ops! Responder citando

El mensaje anterior es mío, entré sin identificar, disculpas. Embarassed
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Dando las gracias Responder citando

Gracias a los dos por haberme contestado, especialmente a ti _Leo que no es la primera vez que me echas un cable.

Ya haré pruebas para ver si consigo hacerlo funcionar, por cierto como parece que estaís puestos seriaís tan amables, y si podeís, de leos un mensaje que tengo acerca de unos problemas que tengo entre una comunicación serie y el envio de E-Mails.

Agradeciendo vuestra ayuda.

Fco. José Wink
Volver arriba
Mensaje    Asunto: Responder citando

Me interesa la utiizacion de NMSMTP para enviar los mails sin intervencion del usuario.
Podrias mostrar un ejemplod ecomo lo usas?

gracias
diego
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: enviar mail Responder citando

Conected te avisa de que te has conectado al servidor de mail no que estes conectado a internet, para enviar el mail una vez que has rellenado el Body se usa SendMail(). Para saber la conexion se usaran las API que te dieron, lo que a mi me gustaria saber es como puedo recibir un evento de cuando se ha producido la conexion a internet y si no se puede imagino que habra que estar todo el rato comprobandolo usando el timer.
Volver arriba
Mensaje    Asunto: enviar mail Responder citando

Conected te avisa de que te has conectado al servidor de mail no que estes conectado a internet, para enviar el mail una vez que has rellenado el Body se usa SendMail(). Para saber la conexion se usaran las API que te dieron, lo que a mi me gustaria saber es como puedo recibir un evento de cuando se ha producido la conexion a internet y si no se puede imagino que habra que estar todo el rato comprobandolo usando el timer.
Volver arriba
Mensaje    Asunto: Conectado a Internet Responder citando

Hola, después de muchísimo tiempo, aquí me ando...

Para saber si hay una conexión a Internet, yo usaba una función (capturada desde no me acuerdo dónde, mis disculpas al autor) que pregunta la hora a un servidor, y si el servidor contesta, entonces se puede decir que estamos conectados. También se podría preguntar cualquie rotra cosa. Bueno, la función es:

//Poner en el form un PowerSock

bool TForm1::GetIsConnected( void )
{
if (Powersock1->LocalIP == "0.0.0.0") {
ShowMessage("sin conexión");
return false;
}
try {
Powersock1->Host = "pogostick.net"; // espero que no les moleste...
Powersock1->Port = 13;
Powersock1->ReportLevel = 1;
Powersock1->TimeOut = 50000;
Powersock1->Connect();
}
catch(...) {
ShowMessage("Excepción al preguntar qué hora es.");
return false;
}

try {
if(!Powersock1->Connected) {
ShowMessage("Powersock1: No conectado");
return false;
}
}
catch(...) {
ShowMessage("Excepción en castellano, por favor: Time out");
return false;
}
else if(!Powersock1->LocalIP.AnsiPos("0.0.0")) {
ShowMessage(String(Powersock1->LocalIP));
return false;
}



return true;

}
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.