Comment le programme d'installation est très rapide node.js UDP serveur

Je suis assez nouveau à Node.js et j'ai une demande pour une application qui permettrait de recevoir une charge utile des paquets UDP et de la traiter.

Je parle plus de 400 messages par seconde, ce qui permettrait d'atteindre quelque chose comme 200.000 messages/minute.

J'ai écrit un code de configuration d'un serveur UDP (extrait d'docs ici http://nodejs.org/api/all.html#all_udp_datagram_sockets en fait) mais c'est de perdre quelque chose de l'ordre de 5% de paquets.

Ce que je vraiment besoin de développer un serveur qui serait le paquet et l'envoyer à un autre travailleur faire le travail avec le message. Mais on dirait que le filetage dans node.js est un cauchemar.

C'est mon cœur est:

var dgram = require("dgram");
var fs = require("fs");
var stream = fs.createWriteStream("received.json",{ flags: 'w',
  encoding: "utf8",
  mode: 0666 });

var server = dgram.createSocket("udp4");
server.on("message", function (msg, rinfo) {
  console.log("server got: " + msg + " from " +
    rinfo.address + ":" + rinfo.port);
    stream.write(msg);
});

server.on("listening", function () {
  var address = server.address();
  console.log("server listening " +
      address.address + ":" + address.port);
});

server.bind(41234);
//server listening 0.0.0.0:41234
Rappelez-vous que les datagrammes, à la différence des sockets TCP, ne sont pas garantit la réception. Au lieu de cela, les datagrammes l'accent sur la vitesse, sans prendre en compte les différents messages.
Ce sont des choses comme celles-ci qui m'a fait basculer pour Aller et n'a jamais regardé en arrière.
Veuillez fournir des précisions, je suis à l'écoute 😀

OriginalL'auteur Panthro | 2012-04-19