Ameliorer mon reseau

Résolu
JoebarGlut Messages postés 111 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 17 octobre 2007 - 16 mars 2006 à 11:24
JoebarGlut Messages postés 111 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 17 octobre 2007 - 20 mars 2006 à 21:24
Salut,
Je me pose quelques petites questions pur ameliorer mon reseau...






J'envois des fichiers avec les socket de l'api windows avec un buffer[1024] (MTU ?).
- Quelle est la taille maxi que m'autorise send() ?
- J'ai vu que emule a un MTU de 1240, en fait c'est la taille de ce buffer si j'ai bien compris ?
- Puis-je utiliser cette valeur pour tout le monde ou dois-je la calculer avant pour chaque connectés ?
- Si calcul il y a , existe-t-il une fonction dans l'api ?

Actuellement apres chaque Send(), le serveur (ou le client) m'envois un paquet confirmant la bonne reception de celui d'avant. En fait je cree mon protocole TCP sur le TCP deja existant (ouais je suis un paranïaque lol) et je me demande si ça va pas etre un peu trop lent.
- Est-ce que je peux envoyer une suite de send() jusqu'a la fin de mon fichier avec l'api32 sachant que j'utilise les messages windows et non les threads ?
- J'ai entendu parler de message queue, est-ce deja configuré ou dois-je le configurer moi meme ?
Il y une longueur de queue maximum je suppose, de combien ?

Merci d'avance pour les infos, meme si c'est seulement une réponse à une seule question, ca me fera toujours avancer :)

3 réponses

JoebarGlut Messages postés 111 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 17 octobre 2007
20 mars 2006 à 21:24
Bon voila, j'ai reponses a mes questions alors je les donnes, ca peut interesser :
Pour le buffermax il y a un message SO_MSGSIZE ou un truc du genre configurable.
Et pour la boucle d'envois la fonction Send() renvois WSAEWOULDBLOCK lorsque le buffer local ou distant est plein. (J'ai vu certains mettre un sleep(100) mais a ce moment la ma methode ping pong est peut etre plus rapide, mieux vaut ne rien mettre je pense.
bye.
3
JoebarGlut Messages postés 111 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 17 octobre 2007
17 mars 2006 à 08:22
J'ai fouillé quelques sources apparament tout le monde utilise un buffer de 1024, donc va pour ca.
Sur le chat de yoyo269, j'ai pu lire while(fread()){send()}; donc apparament je peux envoyer en boucle ? quelle est la limite des messages si l'autre est lent a la reception ? Pour ca je n'ai rien trouvé. Je vais qd meme chronometrer vois si c'est beaucoup plus rapide ou pas, sinon je prefere utiliser ma securité.
0
JoebarGlut Messages postés 111 Date d'inscription mercredi 13 août 2003 Statut Membre Dernière intervention 17 octobre 2007
19 mars 2006 à 19:43
Bon ben pour les message queue j'ai testé donc ma boucle d'envois se termine a la fin de mon fichier de 100ko mais a la reception, je n'en ecris que tanto 60, tanto 80 donc ca a l'air de saturer et il ne gere pas tous les messages.
Je vais me renseigner un peu sur ces message queue et si ca me soule je garde ma config "ping pong" de base
0
Rejoignez-nous