Ameliorer mon reseau

[Résolu]
Signaler
Messages postés
111
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
17 octobre 2007
-
Messages postés
111
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
17 octobre 2007
-
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

Messages postés
111
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
17 octobre 2007

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.
Messages postés
111
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
17 octobre 2007

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é.
Messages postés
111
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
17 octobre 2007

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