Quelle est la pratique de limite sur la taille de paquet unique transmis sur socket de domaine?

Supposons qu'il y est un socket de domaine Unix créé pour un type de serveur-client. Le client envoie un de 10 go de mémoire tampon sur le support, et il est consommé par le serveur en même temps.

OS (Linux/BSD) de diviser les 10 GO de mémoire tampon dans nombre de paquets et d'envoyer les consommer, ou sont-ils envoyés à la fois?

Si il n'est pas possible d'envoyer de 10 go de mémoire tampon de socket de domaine d'un seul coup, alors qu'est-ce que la pratique de limite de taille d'un paquet unique?

Contraintes:

  • Le programme sera exécuté sur Linux 2.6.32+ et FreeBSD 9+
  • Taille de la mémoire tampon pour être envoyé varie de 3 octets à 10 go maximum.
  • Il n'y a rien de "classique" pour un client qui envoie un de 10 go de mémoire tampon d'un seul coup. Typiquement, il va lire un peu de la source dans un tampon mesurée en KO, pas GO, et de l'envoyer en pièce par pièce.
  • Savez-vous combien exactement j'ai pour briser les 10 GO de mémoire tampon? Chaque 1GB/1 MO?
  • Howard, quel est le type de votre socket? Comment il a été créé et comment avez-vous send|recv de données?
  • On dirait que c'est la réponse ici: stackoverflow.com/questions/4729315/...
InformationsquelleAutor | 2014-02-18