deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 2016
-
12 déc. 2006 à 19:05
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 2016
-
14 déc. 2006 à 19:18
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;
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 13 déc. 2006 à 18:38
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 !"
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 14 déc. 2006 à 15:00
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
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 14 déc. 2006 à 16:40
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 !"
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 14 déc. 2006 à 17:33
Oui et le meilleur moyen de le savoir c'est que tu testes en remplaçant SOCKET par int dans ton code qui marche.
Mais bon ya quand même une bonne différence entre int et unsigned int*, donc pas vraiment étonnant que ça ne marche pas ;)
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 14 déc. 2006 à 18:15
Et bien, c'est une énigme de l'informatique ton programme on dirait !
Moi en tous cas j'abandonne parce que là je ne vois vraiment pas de quoi ça peut venir.
Si ça se trouve c'est tout bête mais je vois pas.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 14 déc. 2006 à 18:22
A propos, je voudrai bien porter ce code en graphique, bon tout devrai aller apart une chose, pour l'affichage des messages, je pensai le faire dans une listbox mais voila, si le message fait plus d'une ligne ce sera pas très pratique et j'ai pas envie de le découper lol, et une zone de texte simple ma fois il faudrait sauver ce qu'il y a avant l'envoie puis le remettre avec le nouveau message, mais j'ai peur de la lenteur, vois-tu une autre possibilité ?
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 14 déc. 2006 à 19:05
A mon humble avis je crois que tu n'as pas le choix. Par contre avec un RichEdit, tu peux ajouter le texte sans avoir à récupérer tout le reste.
Tu en as un exemple dans ma source ESIP Messenger, c'est dans le fichier AjouteTexte.h.
La fonction te permet d'ajouter du texte à un richedit.
Si tu as des questions dessus je suis là !
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 14 déc. 2006 à 19:13
Ha je ne connaisait pas ce controle , merci pour ton aide, cet header va bien m'aider. Je ne pense pas pourvoir voir ça aujourd'hui (ben oui faut bien bosser pour la school :) ), mais j'espère pouvoir te contacter en cas de besoins ;) . Bien que ce soit pas vraiment dure d'ajouter du texte je voi, reste plus qu'a voir la création , vai fouiller tes .h sisi, tien ESIP , hola un ingénieur :p