begin process at 2012 05 30 08:59:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

send et recv


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

send et recv

jeudi 12 mai 2011 à 00:21:09 | send et recv

StayCrunchy

Bonsoir,
J'ai un petit soucis avec les fonctions send et recv.
j'ai fait un petit programme qui permet d'envoyer un fichier d'un serveur à un client. Serveur sous ubuntu et client ubuntu d'abord, puis je l'ai refais, serveur sous windows avec visual C++ et client toujours sous ubuntu.
J'ai noté des différences dans les comportements de mon programme que je ne parviens pas à m'expliquer.

char buffer[VALEUR]; // VALEUR = 1000 pour commencer
char taille[20];

coté serveur :
send( sock, tailleSend, sizeof(tailleSend), 0);
send( sock, buffer, sizeof(buffer), 0);

// la premiere ligne envoie la longueur de l'envoi suivant
// la seconde envoie des morceaux du fichier coupé en tranche de tailleSend

coté serveur :
recv(sock, taille, sizeof(taille), 0);
recv(sock, buffer, sizeof(buffer), 0);

Voila, alors sur un client et serveur ubuntu, ca fonctionne et je peux même changer la valeur de VALEUR pour augmenter la quantité de donnée envoyé avec un seul send(). j'ai testé de 100 à 10000 et le transfert a abouti d'une machine à l'autre ( plus rapidement ).

Ca marche également d'un serveur sous windows compilé sous visual C++, mais la valeur max que j'ai pu donner à VALEUR est d'à peu près 1200.
Ce qui ne permet pas de transférer mon fichier assez vite à mon gout...
d'ou mes questions :
Comment rendre le transfert de ma machine sous windows à celle sous ubuntu plus rapide ? Et pourquoi entre les deux machines ubuntu cela est possible ...
Merci.
jeudi 12 mai 2011 à 07:56:52 | Re : send et recv

Lucky92

Salut,

Il y a une option qui permet de dimensionner le buffer d'émission :

Code C/C++ :
setsockopt( SO_SNDBUF , ...


Un conseil, évite le sizeof(buffer) et utilise plutôt VALEUR, car sizeof(buffer) peut prendre la taille du pointeur si la déclaration du tableau n'est pas dans le scope de l'appel au sizeof.

@++


Cette discussion est classée dans : send, valeur, serveur, recv, ubuntu


Répondre à ce message

Sujets en rapport avec ce message

Probleme Architecture client Serveur Multithread [ par kawito ] Bonjour,j'ai fais un client serveur TCP qui doit gerer n connexions(win32 c++) winsowk1.1.le serveur gere les connexions a travers un thread acceptqui Fonctions send et recv [ par bubbless ] Bonjour, Dans le cadre d'un projet, je réalise actuellement un système serveur / client, et je me trouve confronté à un probème : le serveur acc sockets send() recv() [ par dletozeun ] bonjour,j'essais de faire communiquer 2 progs avec les sockets et send() et recv() est il possible d'envoyer autre chose qu'une chaine avec la fonctio Socket/send/recv [ par samuraijack1412 ] Bonjour, Je suis en train d'écrire une application de "chat". Elle se compose d'un client et d'un serveur. Maintenant, je veux que le client puisse send et recv dans le meme programme [ par obader ] Salut a tous J'ai fait un petit programme client qui se connecte à un seveur téléphonique, mon programme contient un snd suivi d'un recv, le snd march savoie si le Client est déconnecté [ par amoweb ] Salutje suis entrain de faire un serveur HTTP avec GCC ( sous windows).Le problème c'est que si le client se déconnecte pendant que j'envoie un fichie Problème client/serveur -> flux du recv avec un air d'extraterrestre [ par thispawn ] Bonjour j'ai codé un système client serveur. Dès que le client arrive a se connecter il envoi avec 3 send ceci : format B ou D | taille du buffer | bu Connexion à un serveur unix avec ftp [ par staik194118 ] Bonjour les amis je dois me connecter sur un serveur unix(bien particulier) depuis ma machine (ubuntu) et ce via une connexion ftp afin de récupé Evènement sur un socket client [ par darsh99 ] J'aimerais savoir si la méthode utilisée par BlackGoddess pour son serveur (http://www.cppfrance.com/article.aspx?ID=1287) est récupérable pour gérer


Nos sponsors


Sondage...

Comparez les prix

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,655 sec (4)

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