IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Couper une connexion avec un ordinateur distant


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Par défaut Couper une connexion avec un ordinateur distant
    je recherche 2 choses.

    la manière brutale
    un composant pour couper une connection de manière dynamique. pendant 1 minute, je bloque tout ce qui vient de l'adresse ip donée.

    la manière plus fine
    j'envoie un paquet qui dit, fin de la discussion à l'ordi d'une ip donnée. pour cela j'ai besoin de créer un paquet manuellement et de l'envoyer.

    connaissez vous des librairies/composants/dll qui permettent de faire cela sous delphi.

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Tu entends quoi par Bloquer une connection ?

    (1) Couper toutes entrees sur la carte reseau depuis cette IP ?
    (2) Couper seulement les communications entre ton logiciel et le logiciel serveur ? Dans ce cas : Possedes tu les sources de l'un et ou de l'autre ?

  3. #3
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Des composants pour gérer la partie IP ::
    =J'utilse ICS :http://www.overbyte.be/frame_index.h...ducts/ics.html
    =sinon tu as Indy.

  4. #4
    Membre actif

    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 36
    Par défaut Ci j bien compris ??
    Avec cette exemple t p tuer une connection specifier ou tout tes connection, je ne sais pas s ca p vous aidez .
    //***********************Exemple Simple
    const
    RAS_DLL = 'RASAPI32.dll';
    var
    TabRasConn :array[1..10]of TRASConn;
    NbConnections : DWord;

    function RasEnumConnections; external RAS_DLL name 'RasEnumConnectionsA';
    function RasHangUp; external RAS_DLL name 'RasHangUpA';
    function RasGetConnectStatus; external RAS_DLL name 'RasGetConnectStatusA';

    //**************Lister les connections activer sur votre PC
    procedure EnumerationDesConnections;
    var
    BufSize : DWord;
    i :integer;
    begin
    TabRasconn[1].dwSize := Sizeof(TRasconn);
    BufSize := Sizeof(TabRasconn);
    if RasEnumConnections(@TabRasConn, BufSize, NbConnections)<>0 then ShowMessage('erreur RasEnumConnections');
    form1.Labl2.Caption:=IntToStr(NbConnections);// nombre de connexions en cours
    form1.ListBoxLesConnexions.Items.Clear;
    if NbConnections>0 then
    for i:=1 to NbConnections do
    begin

    form1.ListBoxLesConnexions.Items.Add(string(TabRasconn[i].szEntryName)+' '
    +string(TabRasconn[i].szDeviceType)+' '
    +string(TabRasconn[i].szDeviceName));
    end;
    end;
    //----------
    procedure TForm1.ButtonListerLesConnexionsClick(Sender: TObject);
    begin
    EnumerationDesConnections;
    end;
    //*****************************Deconnecter tout
    var
    BufSize Word;
    i :integer;
    RASConnStatus :TRASConnStatus;
    begin
    TabRasconn[1].dwSize := Sizeof(TRasconn);
    RASConnStatus.dwSize := Sizeof(TRASConnStatus);
    BufSize := Sizeof(TabRasconn);
    if RasEnumConnections(@TabRasConn, BufSize, NbConnections)<>0 then ShowMessage('erreur RasEnumConnections');
    if NbConnections>0 then
    begin
    for i:=1 to NbConnections do
    begin
    FermeConnexion(TabRasconn[i].Rasconn);
    end;
    end;
    end;
    //*********************Decconnecter 1 ou ...
    var HandleDeLaConnexion: HRASConn;

    procedure fermeConnexion(HandleConnexion:HRASConn);
    var
    ReponseFonction Word;
    RASConnStatus :TRASConnStatus;
    ResultatRasHangUp Word;
    begin
    if HandleConnexion<>0 then
    begin
    RASConnStatus.dwSize := Sizeof(TRASConnStatus);
    ResultatRasHangUp:= RasHangUp(HandleConnexion);
    if ResultatRasHangUp=0 then //si pas d'erreur
    repeat
    ReponseFonction := RasGetConnectStatus(HandleConnexion, @RASConnStatus);
    sleep(0);
    until ReponseFonction = ERROR_INVALID_HANDLE
    else showMessage('erreur RasHangUp');
    end;
    end;
    //-----
    procedure TForm1.ButtonDeconnexionClick(Sender: TObject);
    begin
    FermeConnexion(TabRasconn[ListBoxLesConnexions.ItemIndex+1].Rasconn);
    ListBoxLesConnexions.Items.Clear;
    end;
    //****************************************************

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2007, 21h12
  2. Etablir une connexion avec JDataStore
    Par wissam dans le forum JDBC
    Réponses: 6
    Dernier message: 07/09/2006, 12h20
  3. Réponses: 3
    Dernier message: 05/05/2006, 00h01
  4. connexion de deux ordinateurs distants
    Par stanley dans le forum Développement
    Réponses: 5
    Dernier message: 31/03/2006, 21h17
  5. couper une connection avec un serveur corba
    Par pons dans le forum CORBA
    Réponses: 3
    Dernier message: 31/05/2002, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo