begin process at 2012 02 12 02:44:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

Réseau & Internet

 > 

Reseaux/Sockets pb client/serveur


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

Reseaux/Sockets pb client/serveur

mardi 16 juin 2009 à 16:57:35 | Reseaux/Sockets pb client/serveur

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 plusieurs partie correspondants aux espaces. Merci de me repondre.

Serveur :

#include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <string.h>
    #include <winsock.h>
    #define MYPORT 3490    /* Le port o? les utilisateurs se connecteront */

    #define BACKLOG 10     /* Nombre maxi de connections accept?es en file */

int main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0),&WSAData);
 
SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
char buffer[1024];
char message[1024];
sock = socket(AF_INET, SOCK_STREAM, 0);

sin.sin_addr.s_addr   = INADDR_ANY;
sin.sin_family    = AF_INET;
sin.sin_port    = htons(50);

bind(sock, (SOCKADDR *)&sin, sizeof(sin));
listen(sock, 0);
connect(sock,(SOCKADDR *)&sin,sizeof(sin));


  
   int sinsize = sizeof(csin);
   if((csock = accept(sock,(SOCKADDR *)&csin,&sinsize)) != INVALID_SOCKET)
   {
   send(csock,"Vous etes connectes\r\n127.0.0.1 sur le port 50\r\n\r\n",50,0);
            printf("\nIl y a un client\n");
           
            while(true)
      {
             printf("Serveur: ");          
             scanf("%s", &message);
             send(csock,message,50,0);

           
   }
            }

closesocket(sock);
WSACleanup();

    }
Client :
//CLIENT
#include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <string.h>
    #include <winsock.h>
int main()
{
char buffer[1024];
char msg[1024];

WSADATA WSAData;
WSAStartup(MAKEWORD(2,0),&WSAData);
SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;   
sock = socket(AF_INET,SOCK_STREAM,0);
int i;  
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family      = AF_INET;
sin.sin_port        = htons(50);

 

connect(sock,(SOCKADDR *)&sin,sizeof(sin));

while(true)
{
  while(buffer[0]=='\0')
  {
    i=recv(sock, buffer, sizeof(buffer), 0);
    if(i=!false)
    {
      printf("\nFrom serveur:\n %s", buffer);
    }
  }
  buffer[0]='\0';
}

closesocket(sock);
WSACleanup();

getchar();
}
et comment faire pourle faire dans les deux sens.

mercredi 17 juin 2009 à 07:16:29 | Re : Reseaux/Sockets pb client/serveur

katsankat

Membre Club
Réponse acceptée !
Salut, à priori c'est le while(true) { scanf(); } essaye avec fgets().
dimanche 21 juin 2009 à 18:28:35 | Re : Reseaux/Sockets pb client/serveur

Rayn3d

sa marche mais comment faire pour que le client reponde ?

 

lundi 22 juin 2009 à 11:48:25 | Re : Reseaux/Sockets pb client/serveur

katsankat

Membre Club
Réponse acceptée !
send() et recv() sont bloquantes. Donc soit le programme reçoit puis envoie, soit il reçoit en parallèle, dans un thread. C'est quoi comme serveur sur le port 50? Les 1024 premiers ports sont dits "réservés".


Cette discussion est classée dans : client, include, sin, sock, sockaddr


Répondre à ce message

Sujets en rapport avec ce message

Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS client serveur [ par elanspeech ] Bonjour,Je suis en train de programmer un petit client serveur en C pour windows avec dev-c++. J'obtiens l'erreur suivante a la compilation : D:\DEV-C à vos sockets, prêt, GO [ par mimou20052005 ] à vos sockets, prêt, GO Bon voila les gars j'ai enfin pu réaliser un client et un serveur en C++ (win 32 console application), mais j'ai un petit prob probleme de communication entre deux programme [ par smook ] re salut le dernier message que j ai poster c etait pour les socket et la librairie "libwsock.a" mais sayer j ai passer cette etape j ai reussi a fair Client serveur [ par fanch314 ] Je que le serveur et le client échange par internet.Le serveur ne voit pas de client connectéEt le buffer du client contient nimporte quoi.En gros ils Problèmes avec les Socket [ par baptchr55 ] Bonjour à tous, Je suis ennuyé avec la création de socket. J'aimerais pouvoir envoyer des données (dans un premier temps que j'écris) une par une se Pb chaine de caractères [ par baptchr55 ] Bonjour à tous encore une fois j'ai besoin de votre aide. J'essaye d'envoyer par le biais d'un socket une chaine de caractères. Ce qui fonctionne, se Chaine de caractères Via Socket [ par baptchr55 ] Bonjour à tous encore une fois j'ai besoin de votre aide. J'essaye d'envoyer par le biais d'un socket une chaine de caractères. Ce qui fonctionne, se programmation socket [ par you147 ] salut,j'ai un ptite application de programmation socket de chate client/ serveur sous lunix en C mais il y a un erreur je comprid pas cette erreur aid aide creation serveur t'chat [ par crazygoth ] Bonjour Je dois réaliser un projet qui consiste a faire un serveur de t'chat en c sous Linux. je précise que je débute sous Linux et c également. Ma


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,825 sec (3)

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