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

Réseau C Discussion :

Probleme avec connect().


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Par défaut Probleme avec connect().
    Salut.
    Je programme un scanner de port qui doi se connectet a un certain nombre de ports sa marche tres bien mais le seule prob c'est que sa prend du temps c'est lent et je crois que le probleme c'est la fonction connect() car elle attend un certain temps(le timeout) pour se connecter sa serais mieux deenlever le timeout,j'ai entendu parler des threads j'ai eu quelque infos a propos mais je sais pas comment les utiliser dans mon code.

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par snakemetalgear
    Je programme un scanner de port <...>
    Euh, dans quel but précis ?

  3. #3
    Membre éprouvé Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Par défaut
    Il a plusieurs méthodes pour scanner les ports, tu peux aussi utiliser la méthode du SYN scan (google pour une explications complète) qui est plus rapide que le connect je crois.
    Quant à ton problème tout ce que tu as besoin c´est de trouver un cours sur les threads et à réfléchir à une bonne implémentation.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Par défaut
    Eh bah c'est ce que j'ai fais et j'ai essayer avec un code que je pense dois fonctionner le voila:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DWORD WINAPI Thread1(LPVOID lParametr);
    int main()
    {
     DWORD Thread;
     CreateThread(NULL,0,Thread1,NULL,0,&Thread);
        Sleep(1000);
    }
    DWORD WINAPI Thread1(LPVOID lParametr){
     connect(sock,(SOCKADDR *)&sin,16)}
    J'ai mis que le code des threads car tous le code c'est un peu long.
    En tous cas ce code ne marche pas,quand je fais netstat -n je voi pas la connexion et le connect retourne toujours un -1.
    Mais par contre tous ce qui est dans le thread marche a pars le connect,et si je lenleve du thread et je met juste dans le main alors sa marche donc le socket est tres bien initialisé.
    Si quelqu'un peut me donner un exemple simple de lutilisation de connect() avec les threads je le remercie davance.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Par défaut
    La raison pour laquelle je programme un scanner de port est educatif juste pour massurer que je metrise bien les sockets c'est tout.

  6. #6
    Membre éprouvé Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Par défaut
    Dans la fonction de thread tu ne récupère pas le bon paramètre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DWORD WINAPI Thread1(LPVOID lParameter){
             int * sock = (int *)lParameter;
             connect(&sock,(SOCKADDR *)&sin,16);
    }
    Normalement ça devrait fonctionner.
    Sinon essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int sock = (int) &lParameter;
    connect(sock, ...);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec Postgresql de connection a distance
    Par ToMs dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/04/2006, 10h37
  2. probleme de connection avec PHP
    Par i_shinji dans le forum Installation
    Réponses: 1
    Dernier message: 03/03/2006, 12h07
  3. [socket] Probleme avec connect
    Par sorry60 dans le forum Réseau
    Réponses: 12
    Dernier message: 16/11/2005, 22h01
  4. Réponses: 7
    Dernier message: 18/07/2005, 13h42
  5. Probleme de connection avec MSDE
    Par critok dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 02/04/2005, 00h20

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