OVH Cloud OVH Cloud

internet connection

4 réponses
Avatar
FERNANDES Jean
Hello,



I would control 2 internet connection simultaneous. In the first time I
would like use API WinINet but it can only control 1 connection.



Somebody know, what API Windows must I use ?



Tank's



Jean

4 réponses

Avatar
Remi Thomas
"FERNANDES Jean" wrote in message
news:403219f3$0$28608$
Hello,



I would control 2 internet connection simultaneous. In the first time I
would like use API WinINet but it can only control 1 connection.



Somebody know, what API Windows must I use ?



Tank's



Jean




Jean

Il est tout à fait possible de controler deux connexion Internet simultanés
avec Wininet.
Certainement un petit soucis dans la façon dont tu t'y prend, il faut être
plus précis.

Rémi

--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv
Avatar
FERNANDES Jean
Bonjour Rémi,

nom but est de créer un petit programme qui gère la perte d'une connexion
internet.

J'ai une liaison Adsl, je perds la connexion, alors le logiciel lance une
connexion de secourt RNIS et en parallèle tente de se reconnecter sur
l'adsl. Lorsque la liaison Adsl est active sans problème pendant n minutes
on
réutilise l'accès à Internet par l'adsl et on arrête la liaison RNIS.

pour cela je comptais utiliser les fonctions InternetDial et InternetHangUp.
Lorsque je lance une connexion ça fonction. Si je lance la deuxième, elle
n'ouvre pas la boîte de dialogue, et donc la deuxième connexion ne s'ouvre
pas. J'ai l'impression que mon Wininet.pas n'est pas complet (j'ai Delphi5).
J'ai du en compléter une parti pour ajouter la fonction
InternetGetConnectedStateEx pour détecter si une connexion est encours (mais
elle me dit pas laquelle). Je n'ai pas réussie à trouver une définition de
Wininet complète (aussi bien en C qu'en pascal ou qu'en VB).

Voici les fonction que j'utilise, elle sont appeler pour l'instant par des
boutons.

//pour la connexion
procedure TF_principale.ConnectADSL();
var
rep : DWord;
begin
rep := InternetDial( HANDLE, PChar(NomADSL),
INTERNET_AUTODIAL_FORCE_ONLINE, @NumADSL,0);

if (rep = ERROR_SUCCESS) then begin
ShowMessage('Connexion Ok');
end
else begin
ShowMessage('Erreur Connexion : ' + IntToStr(rep));
end;
end;

procedure TF_principale.ConnectRNIS();
var
rep : DWord;
begin
rep := InternetDial( HANDLE, PChar(NomRNIS),
INTERNET_AUTODIAL_FORCE_ONLINE, @NumRNIS,0);

if (rep = ERROR_SUCCESS) then begin
ShowMessage('Connexion Ok');
end
else begin
ShowMessage('Erreur Connexion : ' + IntToStr(rep));
end;
end;

// pour la déconnexion
procedure TF_principale.DeconnectADSL();
var
rep : DWord;
begin
rep := InternetHangUp(NumADSL,0);

if (rep = ERROR_SUCCESS) then begin
ShowMessage('Déconnexion Ok');
end
else begin
ShowMessage('Erreur Déconnexion : ' + IntToStr(rep));
end;
end;

procedure TF_principale.DeconnectRNIS();
var
rep : DWord;
begin
rep := InternetHangUp(NumRNIS,0);

if (rep = ERROR_SUCCESS) then begin
ShowMessage('Déconnexion Ok');
end
else begin
ShowMessage('Erreur Déconnexion : ' + IntToStr(rep));
end;
end;

Merci pour ton aide.

Jean

"Remi Thomas" a écrit dans le message de
news:403234e4$0$28151$

"FERNANDES Jean" wrote in message
news:403219f3$0$28608$
> Hello,
>
>
>
> I would control 2 internet connection simultaneous. In the first time I
> would like use API WinINet but it can only control 1 connection.
>
>
>
> Somebody know, what API Windows must I use ?
>
>
>
> Tank's
>
>
>
> Jean
>
>
Jean

Il est tout à fait possible de controler deux connexion Internet


simultanés
avec Wininet.
Certainement un petit soucis dans la façon dont tu t'y prend, il faut être
plus précis.

Rémi

--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv




Avatar
Remi Thomas
> Bonjour Rémi,

nom but est de créer un petit programme qui gère la perte d'une connexion
internet.

J'ai une liaison Adsl, je perds la connexion, alors le logiciel lance une
connexion de secourt RNIS et en parallèle tente de se reconnecter sur
l'adsl. Lorsque la liaison Adsl est active sans problème pendant n minutes
on
réutilise l'accès à Internet par l'adsl et on arrête la liaison RNIS.

pour cela je comptais utiliser les fonctions InternetDial et


InternetHangUp.
Lorsque je lance une connexion ça fonction. Si je lance la deuxième, elle
n'ouvre pas la boîte de dialogue, et donc la deuxième connexion ne s'ouvre
pas. J'ai l'impression que mon Wininet.pas n'est pas complet (j'ai


Delphi5).
J'ai du en compléter une parti pour ajouter la fonction
InternetGetConnectedStateEx pour détecter si une connexion est encours


(mais
elle me dit pas laquelle). Je n'ai pas réussie à trouver une définition


de
Wininet complète (aussi bien en C qu'en pascal ou qu'en VB).

...




Je te conseille vivement d'utiliser l'API TAPI pour controler tes
connexions.
C'est de toute façon sur cette API que se base WinInet pour controler les
connexions.
Tu peux déjà faire pas mal de chose avec rasdial.Exe.
Une très bonne méthode pour controler cela est d'énumerer le nombre
d'adresse IP que possède ta machine, établir la connexion, vérifier que le
nombre d'adresse IP à augmenté de un et mémoriser la nouvelle valeur.
Périodiquement compter le nombre d'adresse IP et retrouver celle qui a
disparu pour en déduire sur quel profil se reconnecter.

Rémi

--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv
Avatar
FERNANDES Jean
On m'a indiqué une autre API (RAS) où on à plus de contrôle sur la
connexion.

Merci pour ton aide.

A+.

Jean.


"Remi Thomas" a écrit dans le message de
news:40385b2e$0$28112$
> Bonjour Rémi,
>
> nom but est de créer un petit programme qui gère la perte d'une


connexion
> internet.
>
> J'ai une liaison Adsl, je perds la connexion, alors le logiciel lance


une
> connexion de secourt RNIS et en parallèle tente de se reconnecter sur
> l'adsl. Lorsque la liaison Adsl est active sans problème pendant n


minutes
> on
> réutilise l'accès à Internet par l'adsl et on arrête la liaison RNIS.
>
> pour cela je comptais utiliser les fonctions InternetDial et
InternetHangUp.
> Lorsque je lance une connexion ça fonction. Si je lance la deuxième,


elle
> n'ouvre pas la boîte de dialogue, et donc la deuxième connexion ne


s'ouvre
> pas. J'ai l'impression que mon Wininet.pas n'est pas complet (j'ai
Delphi5).
> J'ai du en compléter une parti pour ajouter la fonction
> InternetGetConnectedStateEx pour détecter si une connexion est encours
(mais
> elle me dit pas laquelle). Je n'ai pas réussie à trouver une définition
de
> Wininet complète (aussi bien en C qu'en pascal ou qu'en VB).
>
> ...
>

Je te conseille vivement d'utiliser l'API TAPI pour controler tes
connexions.
C'est de toute façon sur cette API que se base WinInet pour controler les
connexions.
Tu peux déjà faire pas mal de chose avec rasdial.Exe.
Une très bonne méthode pour controler cela est d'énumerer le nombre
d'adresse IP que possède ta machine, établir la connexion, vérifier que le
nombre d'adresse IP à augmenté de un et mémoriser la nouvelle valeur.
Périodiquement compter le nombre d'adresse IP et retrouver celle qui a
disparu pour en déduire sur quel profil se reconnecter.

Rémi

--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv