Accueil > Forum > > > > problèmes serveur
problèmes serveur
mardi 12 décembre 2006 à 19:05:32 |
problèmes serveur

deck_bsd
|
Bonjour à tous,
Voila je me met à la programmation réseaux et j'ai commencé par une simple appli console client-serveur. Mon serveur est censé recevoir des messages du client et les afficher , seulement voila : Il ne le fait pas, la connection se passe très bien , tout est testé et cela fonctionne. Le problème est que recv est censé attendre après une reception de donnée, mais sur mon serveur juste après la connection du client, l'instruction recv s'éxécute alors que je n'ai mm pas eu le temps d'envoyé un message avec mon client :s . Et évidement cela plante.
Si quelqu'un pouvait m'aider , je join à ce post le code de mon serveur :
#include <stdio.h> #include <winsock2.h>
int main(void){ char szMsg[600+1]=""; struct sockaddr_in saiServerSock = {0}; struct sockaddr_in saiClientSock = {0}; int iServerSockID; int iClientSockID; int iSizeSockClient; int iRecvData; WSADATA wsaData; WSAStartup(MAKEWORD(2,0),&wsaData); iServerSockID = socket(AF_INET,SOCK_STREAM,0); if(iServerSockID == -1) { printf("\n<error> Function : socket()"); fflush(stdin); scanf("%*c"); WSACleanup(); return 1; } saiServerSock.sin_family = AF_INET; saiServerSock.sin_port = htons(2000); saiServerSock.sin_addr.s_addr = INADDR_ANY; /* mise sur écoute du port. */ bind(iServerSockID,(struct sockaddr*)&saiServerSock,sizeof(saiServerSock)); /* Lie le socket à un port. */ listen(iServerSockID,2); /* 2 : Nombre d'écoute possible du serveur. */ iSizeSockClient = sizeof(saiClientSock); if(iClientSockID = accept(iServerSockID,(struct sockaddr*)&saiClientSock,&iSizeSockClient) != INVALID_SOCKET){ printf("\n::::: Client connected"); short sContinue = 1; while(sContinue) { iRecvData = recv(iClientSockID,szMsg,sizeof(szMsg)-1,0); if(iRecvData == SOCKET_ERROR){ printf("\n <error> function : recv()"); sContinue=0; }else{ szMsg[iRecvData] = 0; printf("\n Message : %s",szMsg); } } } closesocket(iServerSockID); WSACleanup(); }
J'espère vraiment que quelqu'un sait le pourquoi de ceci. Merci d'avance.
++ deck_bsd ___________________________________ [ [ Lien ]]
|
|
mardi 12 décembre 2006 à 23:34:14 |
Re : problèmes serveur

Xenul
|
Salut, Désolé, chui crevé, cependant jpeu te filer quelques liens qui pourront peut-être t'aider a trouver ton probléme : ici et la et pr finir, celui ci qui devrait être le mieu pr ton pb (ya des exemples serv / client) ^_-
|
|
mercredi 13 décembre 2006 à 18:14:32 |
Re : problèmes serveur

deck_bsd
|
Merci pour ton aide, mais j'avai déjà ces liens, j'ai mm dl une source de cppfrance et franchement je ne voi absolument pas ce qui cloche :s ++ deck_bsd ___________________________________ [ [ Lien ]]
|
|
mercredi 13 décembre 2006 à 18:38:30 |
Re : problèmes serveur

yoyo269
|
Salut deck_bsd, moi d'habitude au lieu de WSAStartup(MAKEWORD(2,0),&wsaData); je mets WSAStartup(MAKEWORD(2,2),&wsaData); Je pense pas que ça va résoudre ton problème mais sait on jamais ! Ca ne coûte rien d'essayer.  YOYO, @+. "L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
|
|
mercredi 13 décembre 2006 à 23:42:26 |
Re : problèmes serveur

ShareVB
|
salut,
si recv renvoie SOCKET_ERROR, qu'est ce que te renvoie WSAGetLastError...
ShareVB
|
|
jeudi 14 décembre 2006 à 15:00:48 |
Re : problèmes serveur

deck_bsd
|
Héhé, salut yoyo , ben figure toi que avant j'avai 2,2 et j'ai essyer 2,0 pour voir, mais cela ne change rien mdr . Mais bon je me suis dit que vu que le code est pas très long, j'ai tout recoder, et cela fonctionne :s pourtant je ne voi absolument pas ce que j'ai fait de plus . Enfin bref now cela fonctionne. Merci shareVB pour ton aide, mais j'ai pas eu le temps de voir mdr ++ deck_bsd ___________________________________ [ [ Lien ]]
|
|
jeudi 14 décembre 2006 à 15:11:30 |
Re : problèmes serveur

yoyo269
|
lol. Tu veux dire qu'au bout du compte tu as exactement le même code ? Si oui, il y en a un qui fonctionne et pas l'autre ? YOYO, @+. "L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
|
|
jeudi 14 décembre 2006 à 16:15:52 |
Re : problèmes serveur

deck_bsd
|
A peu de chose près, j'ai juste remplacer les int par des SOCKET :s mais sinon, les verif sont les mm , la boucle est la mm :s ++ deck_bsd ___________________________________ [ [ Lien ]]
|
|
jeudi 14 décembre 2006 à 16:40:49 |
Re : problèmes serveur

yoyo269
|
lol ! C'est quand même pas si peu que ça ! Et je l'avais même pas vu en plus. Au moins maintenant je sais les effets que ça a de remplacer des SOCKET par des int ! (note pour plus tard  ) YOYO, @+. "L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
|
|
jeudi 14 décembre 2006 à 16:44:51 |
Re : problèmes serveur

ShareVB
|
salut,
SOCKET : unsigned int * mais bon ca devrait pas gêner à ce point...il se peut qu'il y ait des problème de signe entre un pointeur et un int...
ShareVB
|
|
Cette discussion est classée dans : int, serveur, client, iserversockid, saiserversock
Répondre à ce message
Sujets en rapport avec ce message
Thread et socket besoin de conseil [ par kawito ]
Salut,je desire realiser un client/serveur TCPle probleme est que les fonctions accept et recv sont bloquante.donc cela bloque l'affichage etc...mon p
Erreur de tansmission (octet manquant) [ par makmibad ]
Bonjour, je suis en train de développer un client serveur sous C++ et je rencontre des difficultes lors de la mise en oeuvre du serveur, je m'explique
Meilleur moyen pour chat multi client. [ par deck_bsd ]
Yop à tous,Voila , je suis en train de dévelloper un chat multi client pour le réseaux chez moi. Mais voila , en codant le serveur , je me trouve à un
File de messages [ par samplaid ]
Bonjour, Voici mon problème, j'ai plusieur client et un serveur. Chaque client se connecte a un canal de communication (avec la meme clé). Je passe u
client serveur avec envoy successif de fichiers de même extention [ par salawi45 ]
bonjour!j'ai parcouru plusieurs forums et à chaque fois on me parle de celui là, donc j'espère trouver ma réponse ici :-)je dévellope une application
Aide client FTP [ par katson42 ]
Bonjour à tous,dans le cadre d'un projet je dois réaliser un client FTP se connectant sur un serveur.J'ai réussi à créer la connexion avec le serveur
boucle infinie et file de message [ par kyfranBibax ]
Bonjour,j'ai un petit problème avec des files de messages et une boucle infinie.J'ai crée 2 programmes (un serveur et un cllient) qui communiquent via
SOCKET Information serveur [ par kiki67100 ]
Salut tout le monde,Je voudrais retirer les information d'un serveur UDP "Gta en multi-joueur" , juste renvoyez se que le client "Officiel" a envoyez
Utilisé du multithread sous unix (C++) [ par Kenshiroooo ]
Bonjour, très probablement qu'il existe déja un poste dans lequel il est expliquer ce que je vais dès maintenant vous demander... mais je pers patienc
Serveur FTP utilisant le multithreading [ par ranzar ]
Bonjour, Je suis entrain de développer une fonction sous C++ builder qui utilise un serveur FTP multithread: j'ouvre un serveur FTP sur ma machine et
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|