Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1656 connectés 

  FORUM HardWare.fr
  Programmation
  C

  taille d'envoi par socket en c

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

taille d'envoi par socket en c

n°1847061
dyroj
Posté le 04-02-2009 à 13:08:20  profilanswer
 

Mes salutation a tous,
j'ai créer un programme d'envoi de fichier par socket, il marche tres bien par cable mais comme je suis en wifi c'est un peut lent. jenvoi 10000 octect a chaque send, est ce que c'est tros ou pas assez.
je voudrai aussi savoir si vous avez une idée de comment je pourait savoir le debi du transfert et avec calculer estimer le temps qu'il reste. et si possible modifier le debit + ou -.
++

mood
Publicité
Posté le 04-02-2009 à 13:08:20  profilanswer
 

n°1847062
dyroj
Posté le 04-02-2009 à 13:08:47  profilanswer
 

Ha oui je voulais aussi savoir si c'étais possible de faire mon serveur de maniere à y acceder à partir d'internet sans intervenir physiquement sur le routeur.j'avais lu il y a longtemp quelque chose qui parlait de faire passer les données par le port 80.
 
cordialement Dyroj;

n°1847275
tpierron
Posté le 04-02-2009 à 19:51:11  profilanswer
 

Bah, le débit est juste une quantité de donnée que tu envois par unité de temps. Donc crée un timer, incrémente une variable qui comptabilise tous les octets envoyés durant ce laps de temps. Quand le timer se déclenche, debit = quantite_envoyee / delai_du_timer (donc octet par seconde). Puis tu remets quantite_envoyee à 0. Une fois que tu connais le debit, estimer la durée est trivial.
 
Sinon pour ce qui est de la taille du bloc d'envoi, il faudrait idéalement que la taille soit égale au MTU (Maximal Transfert Unit). Ça tourne en général autour de 1500 octets sur les réseau dérivé d'ethernet. Au dela, la couche réseau va te fragmenter ton paquet de manière transparente. Dans tous les cas n'espère pas envoyer des trames de tailles arbitraires, attends toi à une fragmentation.

n°1847291
dyroj
Posté le 04-02-2009 à 20:18:03  profilanswer
 

merci beaucoup,
mais j'ai pas tres bien compri comment je peut avoir le delai avec le timer, car le timer sert a executer une tache toute les x second. la quantite_envoyee est la quantité doctet que jevoi a chaque send ou la taille total du fichier.
et pour le nombre d'octet que a envoyer a chaque send, tu me dit que audela de 1500 octets sa se defragmente, mais moi jarive a envoyer 1000000 octet sans qu'il y ai des perte au niveau du fichier.

n°1847296
dyroj
Posté le 04-02-2009 à 20:24:33  profilanswer
 

je vien desayer avec 1500 octet c'est tres long (par cable) comparer 1000000 octet.

n°1847298
Taz
bisounours-codeur
Posté le 04-02-2009 à 20:40:01  profilanswer
 

y a jamais de perte niveau TCP, c'est une garantie. qu'après tu perdes des trames, c'est pas lié à la quantité de données du tout. Que t'envoies 1To ou 1ko, si t'as 5% de perte, t'as 5% de perte.

n°1847301
dyroj
Posté le 04-02-2009 à 20:42:56  profilanswer
 

mais alors quelle est la meilleur quantiter d'octec que je peut envoyer,
moi je pence que sa vari selon le debit, est ce vrai?

n°1847322
Taz
bisounours-codeur
Posté le 04-02-2009 à 21:42:01  profilanswer
 

dyroj a écrit :

mais alors quelle est la meilleur quantiter d'octec que je peut envoyer,
moi je pence que sa vari selon le debit, est ce vrai?


Tu peux envoyer autant que tu veux jusqu'à la fin des temps, c'est juste le la durée de la transmission qui varie. Envoie ce qui est nécessaire et pas plus ni moins et c'est tout.

n°1847323
dyroj
Posté le 04-02-2009 à 21:47:38  profilanswer
 

oui mais la durée de transmission vari selon la taille de la trame.non?

n°1847324
Taz
bisounours-codeur
Posté le 04-02-2009 à 21:50:18  profilanswer
 

non

mood
Publicité
Posté le 04-02-2009 à 21:50:18  profilanswer
 

n°1847326
Taz
bisounours-codeur
Posté le 04-02-2009 à 21:51:50  profilanswer
 

la durée est fonction de la quantité de données. que ça transite par semi remorque ou par petite cuillère, si ça roule à 90km/h ça ne change pas la vitesse.

n°1847329
dyroj
Posté le 04-02-2009 à 21:54:48  profilanswer
 

tres bonne comparaisont avec la cuillere et le semi remorque

n°1847330
dyroj
Posté le 04-02-2009 à 21:55:09  profilanswer
 

c'est quoi bande passante du lien

n°1847332
dyroj
Posté le 04-02-2009 à 21:58:13  profilanswer
 

et quand tu dit vitesse tu parle bien du debit?

n°1847335
Taz
bisounours-codeur
Posté le 04-02-2009 à 22:03:57  profilanswer
 

bande passante = diamètre du tuyau
délai de transmission / latence = temps qu'il faut pour aller d'un bout du tuyau à l'autre
vitesse = combien de temps tu mets à pour faire couler un truc d'un bout à l'autre.


Message édité par Taz le 04-02-2009 à 22:20:40
n°1847348
dyroj
Posté le 04-02-2009 à 22:21:20  profilanswer
 

je ne voit pas comment je pourai savoir le diametre du tuyau(si tu parle du cable alors c koi pour la wifi), et pour la latence je narive pas a savoir comment utiliser le timer pour sa, car le timer execute une tache  toute les x seconde(ou autre).

n°1847349
Taz
bisounours-codeur
Posté le 04-02-2009 à 22:22:09  profilanswer
 

ton wifi à 54Mbps/s, tu veux transmettre 4GB, avec une latence à 200ms, ça te prend combien de temps ?

n°1847351
Taz
bisounours-codeur
Posté le 04-02-2009 à 22:25:22  profilanswer
 

dyroj a écrit :

je ne voit pas comment je pourai savoir le diametre du tuyau(si tu parle du cable alors c koi pour la wifi), et pour la latence je narive pas a savoir comment utiliser le timer pour sa, car le timer execute une tache  toute les x seconde(ou autre).


un cable logique. un canal de transmission.

 

tu veux transmettre un document de 2Mo sur ton lien satellite à 512Kbps avec une latence de 2s. Ca te prend combien ?

 

même question si maitenant ton document ne fait que 20ko ?

 

tu en déduis quoi à propos des liens à forte latence ?


Message édité par Taz le 04-02-2009 à 22:26:27
n°1847352
dyroj
Posté le 04-02-2009 à 22:27:25  profilanswer
 

mais tu ma pas dit comment on calcule de temp pas raport au debit...

n°1847355
Taz
bisounours-codeur
Posté le 04-02-2009 à 22:31:48  profilanswer
 

ou alors, t'as un train avec une voiture qui peut conduire 50 personne à 90km/h, tu dois transporter 20 personne à 100km de là. Tu mets combien de temps à les transporter ? Même question si maintenant tu dois transporter 200 personnes mais que tu as 5 voitures à ton train ?
 
Au final, c'est quoi le ratio passagers / temps de transport ?

n°1847357
dyroj
Posté le 04-02-2009 à 22:38:33  profilanswer
 

mais si g pas la formule je peut rien faire.
(tu ferai un bon prof si tu n'en est pas deja un)

n°1847358
Taz
bisounours-codeur
Posté le 04-02-2009 à 22:42:01  profilanswer
 

dyroj a écrit :

mais si g pas la formule je peut rien faire.
(tu ferai un bon prof si tu n'en est pas deja un)


bah réponds aux questions et déduis-en une formule.

n°1847360
dyroj
Posté le 04-02-2009 à 22:46:18  profilanswer
 

quesque tu veut dire par un train avec une voiture.
tu veut dire quil y a une voiture dans le train.

n°1847361
Taz
bisounours-codeur
Posté le 04-02-2009 à 22:50:20  profilanswer
 

Si t'as jamais pris le train, c'est pas gagné...
En voiture !

n°1847362
dyroj
Posté le 04-02-2009 à 22:52:40  profilanswer
 

ha mince  j'ai compri le sans

n°1847371
dyroj
Posté le 04-02-2009 à 23:06:35  profilanswer
 

je pence enfin avoir trouver :
temp restant = (taille fichier - taille_envoyer)/ debit(vitesse)

n°1847373
dyroj
Posté le 04-02-2009 à 23:07:45  profilanswer
 

je me suis rapeller d'un court de reseau, mais chui pas sur que c'est bien sa

n°1847376
Taz
bisounours-codeur
Posté le 04-02-2009 à 23:20:07  profilanswer
 

dyroj a écrit :

je pence enfin avoir trouver :
temp restant = (taille fichier - taille_envoyer)/ debit(vitesse)


euh j'ai parler nulle part de fichier, de taille à envoyer ni de débit(vitesse) ...

n°1847377
dyroj
Posté le 04-02-2009 à 23:20:44  profilanswer
 

non mais pour la formule

n°1847381
dyroj
Posté le 04-02-2009 à 23:23:55  profilanswer
 

veux tu voir ma source

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  taille d'envoi par socket en c

 

Sujets relatifs
void* , compilation, taille inconnuePré-remplir un envoi de mail avec mailto
[C#] - Envoi d'email avec variablestaille page web
Equivalent en C# pour sérialiser une structure. (Envoi par le réseau)probleme désérialisation class socket
Taille du texte et affichage dans navigateur...[VB.NET] Communiquer avec un service Windows par l'envoi de paramètres
Modification de la taille d'un champ sous Oracle[VBA Excel] Envoi mail puis reprendre la main...
Plus de sujets relatifs à : taille d'envoi par socket en c


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR