begin process at 2012 05 28 22:34:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

Connexion serveur client réseau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connexion serveur client réseau

samedi 4 octobre 2008 à 18:45:21 | Connexion serveur client réseau

matad0r

Bonjour ! Ceci est mon premier post ! Voilà mon problème : j'ai créer deux applications, une cliente et une serveur. Mais le problème est que elle ne fonctionne pas ^^. La connexion ne se fait pas ou bien elle se fait mais je ne le voit pas.

Code serveur :

#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")

int main(int argc, char *argv[])
{
  
  char port;
  printf(" === Bienvenue ! === \nNumero du port a ouvrir : ");
  
  WSADATA WSAData;
  WSAStartup(MAKEWORD(2,0), &WSAData);

  scanf("%i", &port);
                
  SOCKET sock;
  SOCKADDR_IN sin;
  sin.sin_addr.s_addr = inet_addr(INADDR_ANY);
  sin.sin_family = AF_INET;
  sin.sin_port      = htons(port);
  sock = socket(AF_INET,SOCK_STREAM, 0);
  bind(sock, (SOCKADDR *)&sin, sizeof(sin));
  
  printf("Ecoute...\n");
                
  listen(sock, 0);
  int val = 0;
  while(1)
  {
    val = accept(sock, (SOCKADDR *)&sin, sizeof(sin));
    if(val != INVALID_SOCKET)
    {
      printf("Quelqu'un est connecte !");
    }
   }
system("PAUSE");
  

  return 0;
}

Et code client :

#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")

int main(int argc, char *argv[])
{
  
  printf(" === Bienvenue ! === \nAdresse IP distante : ");
  
  WSADATA WSAData;
  WSAStartup(MAKEWORD(2,0), &WSAData);
                
  char ip[15];
  scanf("%s", &ip);
                
  long port;
  printf("Port distant ouvert : ");
  scanf("%i", &port);
                
  SOCKET sock;
  SOCKADDR_IN sin;
  sin.sin_addr.s_addr = inet_addr(ip);
  sin.sin_family = AF_INET;
  sin.sin_port = htons(port);
  sock = socket(AF_INET,SOCK_STREAM, 0);
  bind(sock, (SOCKADDR *)&sin, sizeof(sin));
                
  if(connect(sock,(SOCKADDR*)&sin,sizeof(sin)))
  {      
     printf("La connection a echoue... La connexion a ete bloquee par un Par-Feu ou a ete\nrefusee =(\n");

     system("PAUSE");
     exit(0);
                    
  }
            
  connect(sock, (SOCKADDR *)&sin, sizeof(sin));
  printf("Connecte ! Le serveur a accepte la connexion...\n");
  system("PAUSE");
  

  return 0;
}

Ce qui se passe est que le serveur n'affiche pas "Quelqu'un est connecté !" et il ne se passe rien, au bout d'un moment sur le client le message apparait : "La connexion à échoué... et patati et patata".
Merci de votre aise =)
dimanche 5 octobre 2008 à 12:26:27 | Re : Connexion serveur client réseau

matad0r

En fait j'ai rectifié le problème mais cette fois j'en ai un autre ^^. J'arrive a connecter les deux applis => Quand je met sur écoute un port et que je me connecte dessus avec le client le Par-Feu me dit que "client.exe" tente d'établir une connexion avec l'ip (192.168.*.*** : le port en que j'ai choisi en l'occurence 10 ) et sur l'autre PC le Par-Feu me dit que une application essaye de communiquer avec "serveur.exe" ( 192.168.*.*** : et un port totalement différent de celui que j'ai choisi sur le client ! ) Quand je clique sur ok le client me dit qu'il s'est bien connecté mais sur le serveur : RIEN. Toujours le message "Ecoute...". Merci d'avance ! =)
dimanche 5 octobre 2008 à 19:43:41 | Re : Connexion serveur client réseau

matad0r

J'ai trouvé une erreur dans mon code serveur => au lieu de "inet_addr(INADDR_ANY)" c'est mieux de mettre "htonl(INADDR_ANY)", ne me demandez pas pourquoi ^^. J'ai vu ça sur le site http://c.developpez.com/WalrusSock/ (très bon site). Toujours en attente de vos réponses =)


Cette discussion est classée dans : port, printf, sin, sock, sockaddr


Répondre à ce message

Sujets en rapport avec ce message

prb a la compilation vous vc++ [ par shadow1779 ] Bonjour,j'ai tenté de faire un programme en C utilisant les sockets, la personne qui lance son programme choisi elle meme l'ip et le port a se connect transfert de fichiers [ par anonyme_man_in_this_world ] salut  !recemment ,j'ai testé le programme que j'ai deposé sur le site avec deux de mes amis et ça n'a pas l'air de fonctionner ,pourtant lorsque je t probleme de serveur multi-client [ par Mick7 ] je m'explique je suis arrivé a creer un serveur qui peut accepter 2 client mais le probleme est que si j'essaye de creer les 2 sockets sur le meme por client serveur echange de donne [ par bapdur ] voici la version dun client et dun serveur que je fais pour un jeu mais les donnes son envoyer en continu jaimerais aire en sorte que si je tape un ca Erreur compilation, Requette pour Connaitre le premier port ouvert..... [ par wizard512 ] Bonsoir,Je souhaiterais avoir un peu d'aide si possible,pour finir de réalisé un petit programme en c,Car j'ai rencontré des problè probleme de send en C avec socket [ par thorn74 ] bonjour je suis actuellement en IUT info et G un  projet a faire mais je bloque je doit fair eun petit programme ou lorsqu'un ordinateur se connecte a Winsock2 et Wifi [ par djin94 ] Bonjour,Je programme sous Visual C++ et je souhaite établir une connection UDP entre deux pc via une liaison Wifi. J'ai essayé avec Winsock2 mais ca n serveur / client [ par the68 ] Bonjour à tous, Voilà je débute dans la programmation en C; j'ai suivis attentivement un tutoriel sur le C pour avoir les bases, et là je me lance d Reseaux/Sockets pb client/serveur [ par Rayn3d ] Bonjour tous le monde, j'ai un probleme avec un programme en reseaux client/serveur : lorsque j'envoie un message au client il se decoupe en plusieu PROB SOCKETS CON [ par zzzzzz ] le code source marche mais quand je rajoute un cout#include #pragma comment(lib,"ws2_32.lib")#include int main(void)


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales