[c++] précisions sur les sockets
Fermé
Phileas 52
Messages postés
1
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 août 2007
-
8 août 2007 à 16:18
JulienZ - 8 août 2007 à 19:30
JulienZ - 8 août 2007 à 19:30
1 réponse
Salut,
Tu n'es pas sur la mauvaise voie ;)
Coté serveur tu fais :
SOCKET sock;
SOCKET sock2; // Identifiant de la nouvelle socket
SOCKADDR_IN sin;
sin.sin_family=AF_INET;
sin.sin_addr.s_addr=INADDR_ANY; // Ecoute sur toutes les IP locales
sin.sin_port=htons(1234); // Ecoute sur le port 1234
bind(sock,(struct sockaddr*)&sin,sizeof(sin)); //La commande bind permet de lier la socket à un port et adresse IP d'écoute
listen(sock,n);//Tu écoute pour finir, n représente le nombre maximal d'ouverture simultanée
temp=sizeof(sin);
sock2=accept(sock,(struct sockaddr*)&sin,&temp);
Coté client tu fais :
SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr([l'ip]); // Tu met l'IP du serveur auquel tu veux te connecter
sin.sin_family = AF_INET;
sin.sin_port = htons([le port]);
sock = socket( AF_INET, SOCK_STREAM, 0 );
connect(sock,(struct sockaddr *) &sin, sizeof(sin));
Si tu execute simultanément les deux exécutable: client.exe et serveur.exe sur ta machine, tu rentre dans le client l'adresse IP de ta machine.
Voila en espérant t'avoir un peu aider
+
Tu n'es pas sur la mauvaise voie ;)
Coté serveur tu fais :
SOCKET sock;
SOCKET sock2; // Identifiant de la nouvelle socket
SOCKADDR_IN sin;
sin.sin_family=AF_INET;
sin.sin_addr.s_addr=INADDR_ANY; // Ecoute sur toutes les IP locales
sin.sin_port=htons(1234); // Ecoute sur le port 1234
bind(sock,(struct sockaddr*)&sin,sizeof(sin)); //La commande bind permet de lier la socket à un port et adresse IP d'écoute
listen(sock,n);//Tu écoute pour finir, n représente le nombre maximal d'ouverture simultanée
temp=sizeof(sin);
sock2=accept(sock,(struct sockaddr*)&sin,&temp);
Coté client tu fais :
SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr([l'ip]); // Tu met l'IP du serveur auquel tu veux te connecter
sin.sin_family = AF_INET;
sin.sin_port = htons([le port]);
sock = socket( AF_INET, SOCK_STREAM, 0 );
connect(sock,(struct sockaddr *) &sin, sizeof(sin));
Si tu execute simultanément les deux exécutable: client.exe et serveur.exe sur ta machine, tu rentre dans le client l'adresse IP de ta machine.
Voila en espérant t'avoir un peu aider
+