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 :

socket: connexion à un ordi distant


Sujet :

Réseau C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 6
    Points
    6
    Par défaut socket: connexion à un ordi distant
    xlu à tous. je veux écrire un programme qui va me permettre de me connecter à un ordinateur distant à partir de son nom. mon problème est que je ne sais pas si je dois créer un client et un serveur, pour moi c'est un client seulement puisque je dois me connecter à un ordi dont je connais seulement le nom.

    programme :
    - recherche de l'ordinateur distant par son nom
    - obtenir son IP pour établir la connexion
    c'est tout pour le moment. merci..

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    me connecter à un ordinateur distant à partir de son nom
    Cet ordinateur distant est-il sur le réseau local ou accessible à travers Internet ? Dans le cas 1, c'est possible avec une fonction telle que gethostbyname().
    - Windows : http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
    - Linux : http://linux.die.net/man/3/gethostbyname
    Dans le cas 2, je ne pense pas que cela soit possible sauf si ton DNS le connait.

    je ne sais pas si je dois créer un client et un serveur
    Ca dépend ^^

    pour moi c'est un client seulement puisque je dois me connecter à un ordi dont je connais seulement le nom.
    A première vue oui mais la question est : quel programme va accepter la connexion entrante sur cet ordinateur distant ? S'il n'y a pas de serveur à l'écoute, c'est à toi de le créer. Quel est le but de ton application ?

  3. #3
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    Par exemple pour un site internet c'est relativement simple, il te suffit d'utiliser gethostbyname (comme l'a indique Bktero) et ensuite de t'y connecter. Ca fonctionne de la meme facon pour tous les serveurs.

    Par contre si c'est sur l'ordinateur de quelqu'un en particulier, il faudra deja que le port sur lequel tu veux te connecter soit "ouvert" (entendre par la qu'il faut que son routeur permette la connexion sur ce port) et qu'un programme faisant office de serveur soit en train de tourner.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    ok je comprends. moi je veux créer un programme qui me permet d'obtenir les informations nécessaires sur un ordinateur distant pour me connecter ensuite à cet ordinateur.mais avec gethostbyname j'ai fais un programme ,mais ce programme ne me donne pas les informations sur l'ordi distant et lorsque je met le nom de mon ordi, il me donne les informations donc je n'arrive pas à accéder aux infos des PC distants. en vrai, je veux qu'après avoir obtenu les infos, mon application doit se connecter immédiatement au PC distant sans demande de connexion (je trouve que ça ressemble à un serveur) et d'établir une connexion entre ces deux ordinateurs. mais, je ne sais pas si c'est possible, je voudrai ensuite que mon programme utilise la connexion internet du PC distant. c'est donc le but de mon programme naviguer à partir d'une connexion située sur un poste distant lorsque cet ordi est connecté à internet donc il doit y avoir une fonction qui détecte la présence de connexion internet. merci
    voici mon programme : la première partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
     
     
    int main()
    {
       WSADATA WSAData; // initialisation windows
        if(WSAStartup(MAKEWORD(2,2), &WSAData) != 0)
        fprintf(stderr, "La fonction WSAStartup a echoue.\n");
        else
        {
     
            char s[100];// chaîne de caractère qui contiendra les infos sur l'hote
            HOSTENT *h;// pointeur
            printf("Entrer le nom de la machine: ");
            scanf("%99s", s);
            h = gethostbyname(s);// initialisation de la fonction gethosbyname qui prend en paramètre notre chaîne s
            if(h == NULL)// si la fonction ne marche pas
            fprintf(stderr, "La fonction gethostbyname a echoue.\n");
            else
            {
                IN_ADDR addr;
                memcpy(&addr.s_addr, h->h_addr_list[0], sizeof(addr.s_addr));// fonction permettant d'acceder à l'adresse IP de la machine
                printf("Adresse IP: %s\n\n", inet_ntoa(addr));// affichage de l'adresse ip
            }
        }
     
        return 0;
    }

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

Discussions similaires

  1. Connexion 2 pc distants via Internet. Socket ?
    Par qhardy dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 01/03/2009, 19h55
  2. Réponses: 16
    Dernier message: 05/06/2008, 11h32
  3. [Socket]Connexion au port distant 161
    Par arsenik7 dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 22/11/2005, 17h14
  4. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32
  5. Script WMI : redémarrer un ordi distant : erreur
    Par goliath99 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 06/08/2004, 15h33

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