Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Taille maximum d'un packet  (Lu 4189 fois)

0 Membres et 1 Invité sur ce sujet

Rick_Cplusplus

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • E-mail
Taille maximum d'un packet
« le: Octobre 04, 2018, 08:06:41 pm »
Bonjour La communauté,

Il y a t-il une taille maximum (en octet) pour "remplir" un packet ?
si je fais :
sf::packet paquet;
int max;
for(int i(0); i<max; i++)
{
     paquet << "00000 00 000 00";
}
 
quel est la valeur de maxi de max ?

Merci de m'avoir lu,
Rick.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Taille maximum d'un packet
« Réponse #1 le: Octobre 04, 2018, 08:14:23 pm »
En interne c'est un vector<char>, donc les seules limites sont la valeur max de std::size_t et la mémoire vive de l'ordinateur.

L'autre facteur est la socket sur laquelle tu vas envoyer ces données : alors que TcpSocket enverra tout sans sourciller (c'est un flux, il n'y a ni début ni fin), UdpSocket te renverra une erreur si la taille de tes données dépasse UdpSocket::MaxDatagramSize (datagramme oblige).

Dans tous les cas, c'est rarement une bonne idée d'envoyer des grosses masses de données en un seule fois ; pour quelle raison posais-tu cette question ?
Laurent Gomila - SFML developer

Rick_Cplusplus

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • E-mail
Re: Taille maximum d'un packet
« Réponse #2 le: Octobre 04, 2018, 09:30:14 pm »
Bonjour Laurent,

En fait je voudrais envoyer (en TCP) les données d'une carte (type wargame) ?  chaque client pour qu'il puissent l'afficher et programmer les déplacements de leurs unités.
Basiquement il pourrait y avoir jusqu'?  10000 hexagones avec pour chacun un type de terrain, les routes, les rivières, les constructions (villes ou fortifications), etc...

De ce que je comprends de ta réponse, il vaut mieux faire un paquet pour chaque hex qu'un gros paquet de 10000 hex ! ^^

Je vais donc coder en ce sens. :)
Rick.