Quelle quantité de données peut envoyer par l'intermédiaire d'un support.émettre?
Donc je suis en utilisant node.js et de la prise.io. J'ai ce petit programme que le contenu d'une zone de texte et l'envoie à l'node.js serveur. Ensuite, le serveur de relais de retour à d'autres clients connectés. Un peu comme un service de chat, mais pas exactement.
De toute façon, que si l'utilisateur pour le type 2-10k valeur de texte et d'essayer de l'envoyer? Je sais que je pourrais juste essayer et voir par moi-même mais je suis à la recherche d'une pratique, les meilleures pratiques de limite sur la quantité de données que je peux faire par le biais d'un émettent.
- Vous pouvez envoyer autant de données que vous le souhaitez. Même de gros fichiers vidéo. Le seul problème ici est l'évolutivité, c'est à dire à combien d'utilisateurs que vous souhaitez la diffuser? Mais vous frapperez de ces types de problèmes de toute façon.
- quand je suis en prononçant 20 mo de données de fichier comme base64encoded chaîne, puis d'autres personne dans la salle capable de recevoir, mais si elle est de plus de 23 MO fichier de données n'est pas en mesure de recevoir.. est-il une solution pour moi
Vous devez vous connecter pour publier un commentaire.
Nœud et de la prise.io n'ont pas intégré les limites. Ce que vous n'avez à vous préoccuper est la relation entre la taille du message, le nombre de messages envoyés par seconde, le nombre de clients connectés, et la bande passante disponible pour votre serveur en d'autres termes, il n'y a pas de réponse facile.
Considérons un 10 ko message. Quand il y a 10 clients connectés, qui s'élève à 100 ko de données que votre serveur a pour pousser, ce qui est tout à fait raisonnable. Ajouter plus de clients, et les choses deviennent rapidement de plus en plus exigeants: 10 kB * 5 000 clients = 50 MO.
Bien sûr, vous aurez également à tenir compte du montant des frais généraux de protocole: par paquet, TCP ajoute ~20 octets, IP ajoute 20 octets, et Ethernet ajoute 14 octets, pour un total de 54 octets. En supposant un MTU de 1500 octets, vous êtes à la recherche à 8 paquets par client (sans prendre en compte le nombre de retransmissions). Cela signifie que vous allez envoyer 8*54=432 octets de surcharge + 10 ko charge utile = 10,672 octets par client sur le fil.
10.4 kB * 5000 clients = 50.8 MO.
À 100 Mbit /s lien, vous êtes à la recherche à un minimum théorique de 4,3 secondes pour se livrer à 10 ko message de 5 000 clients si vous êtes en mesure de saturer le lien. Bien sûr, dans le monde réel de la perte de paquets et corrompu de données nécessitant retransmet, il faudra plus de temps.
Même avec une estimation très prudente de 8 secondes pour envoyer 10 ko à 5 000 clients, c'est probablement pas un problème en salle de chat où un message toutes les 10 à 20 secondes.
Alors, vraiment, il revient à quelques questions, dans l'ordre d'importance:
Avec ces questions, vous pouvez déterminer la taille maximale d'un message indiquant que votre infrastructure de soutien.
2-10k est très bien, il arn est pas forcée de limites ou de quoi que ce soit, qu'il vient juste de bande passante et de praticité.. 10k est petit mais dans le grand schéma des choses, alors vous devriez être bien si c'est un peu une limite supérieure pour vous.