Tag: 数据报

用node.js重新组装udp消息

我刚开始使用node.js和UDP。 我试图捕获UDP数据包,然后格式化输出。 我收到的UDP数据包被分成多个消息。 我无法弄清楚如何重新组装信息。 我可以连接每封邮件,但是如何知道邮件已完成? 我需要处理这些数据,但我需要完成消息。 FYI …这是一个记分牌types的应用程序。 统计正在通过UDP广播,我试图创build一个应用程序,将监测统计。 这里是一些基本的代码 var dgram = require("dgram"); var server = dgram.createSocket("udp4"); var fs = require('fs'); var STATS; server.on("message", function (msg, rinfo) { STATS = STATS + msg; msg = msg + '<!>'; console.log(msg); }); // ***************************** // When the message is complete // Process STATS // ***************************** server.on("listening", […]

你是否必须closuresNode.js中的UDP(dgram)客户端,还是可以重用它?

文档 (以及我看过的一些库)似乎表明,每次发送时都closures客户端: var dgram = require('dgram'); var message = new Buffer("Some bytes"); var client = dgram.createSocket("udp4"); client.send(message, 0, message.length, 41234, "localhost", function(err, bytes) { client.close(); }); 我真的不太了解UDP的内部工作原理,但是如果每次要发送一个UDP数据包,都会阻止你重复使用client呢? 你必须 close()吗? 我已经在localhosttesting了它(也就是重用客户端),并且发送了多个数据包(至less到了同一个目的地),但是这还不是一个足够的testing来保证在大的在那里广泛的世界。 send()的源头调用一个_startReceiving()函数,该函数“绑定到一个随机端口”,然后“开始接收” – 但我不清楚应该在这里接收什么,因为我们实际上是在发送。 无论如何,这足以让我觉得可能有与保持一个客户的问题…我只是不知道他们是什么。

NodeJS数据报 – 接收IPv6多播

我试图通过node.js中的IPv6接收多播数据报。 在IPv4(udp4)上完全相同的方式,我没有问题,但试图做相同的udp6给我socket.addMembership呼叫EINVAL错误。 这是我的代码: var dgram = require('dgram'); var server = dgram.createSocket('udp6'); var PORT = 12345; var MULTICAST_ADDRESS = 'ff7e:230::1234'; server.on('message', function (message, remote) { console.log('Message from: ' + remote.address + ':' + remote.port +' – ' + message); }); server.on('listening', function () { var address = server.address(); console.log('UDP listening on ' + address.address + ":" […]