Tag: udp

发送广播数据报

我需要将广播数据报发送到连接到我的networking的所有机器(服务器)。 我正在使用NodeJS多播 客户 var dgram = require('dgram'); var message = new Buffer("Some bytes"); var client = dgram.createSocket("udp4"); client.send(message, 0, message.length, 41234, "localhost"); // If I'm in the same machine 'localhost' works // I need to do something 192.168.0.255 or 255.255.255 client.close(); 服务器 var dgram = require("dgram"); var server = dgram.createSocket("udp4"); server.on("message", function (msg, rinfo) { […]

节点js 0.10.7:群集支持udp dgram?

我试图运行下面的节点js应用程序提到https://github.com/joyent/node/issues/2194 var util = require("util"), dgram = require("dgram"), cluster = require('cluster'); var udp = dgram.createSocket("udp4"); var port = 1190; if (cluster.isMaster) { for (i = 0; i < 2; i++) { cluster.fork(); } } else { util.log("starting udp server on port " + port); udp.on("error", function (error) { util.log("failed to bind to UDP port – […]

用于实时多人游戏的Node.js UDP

我正在使用node.js构build一个基于浏览器的实时多人游戏。 目前,我有客户端通过socket.io发送用户input到游戏逻辑服务器,游戏世界的快照发送回客户端进行渲染。 以下是代码的简化版本。 是否有可能使用UDP从基于浏览器的客户端发送数据到服务器,反之亦然? 我知道Node.js有一个UDP模块,但我不确定如何以这种方式来实现它。 任何帮助,将不胜感激。 谢谢。 服务器: var server = http.createServer(handler).listen(8888); var iosocket = io.listen(server); // request/response handler function handler(req, res){ … } iosocket.sockets.on('connection', function(socket){ console.log("[x] Socket listener started"); socket.on('msg', function(data){ console.log( " [-] incoming message); }); }); … iosocket.sockets.emit("message", msg); 客户: <!DOCTYPE html> <html> <head> <title>Test</title> <script type="text/javascript" src="/socket.io/socket.io.js"></script> <script type="text/javascript"> socket.on('connect', function(){ […]

WebRTC数据通道服务器到客户端的UDP通信

是否可以在Node.js上使用WebRTC数据通道,以模仿Socket.io(WebSockets)的function(最好是API),除了使用UDP? 实质上,我想有一个运行Node.js的服务器,浏览器客户端可以通过JavaScriptbuild立一个全双工双向UDP连接。

UDP在Node.js中发送性能

我正在用一个Java UDP客户端进行基准testing,该客户端可以尽可能快地连续发送100个字节的数据报。 它是使用java.nio.* 。 testing表明,它能够实现每秒220k数据报的稳定吞吐量。 我没有使用服务器进行testing。 客户端只是将数据报发送到本地主机上的一些未使用的端口。 我决定在Node.js中运行相同的testing来比较这两种技术,看到Node.js执行速度比Java慢10倍 ,这令人惊讶。 让我引导你通读我的代码。 首先,我使用Node.js的dgram模块创build一个UDP套接字: var client = require('dgram').createSocket("udp4"); 然后我创build一个使用该套接字发送数据报的函数: function sendOne() { client.send(message, 0, message.length, SERVER_PORT, SERVER_ADDRESS, onSend); } variablesmessage是一个由应用程序启动时具有一百个字符的string创build的缓冲区: var message = new Buffer(/* string with 100 chars */); 发送函数只是递增一个variables,该variables保存到目前为止发送了多less个数据报。 接下来,我有一个使用setImmediate()不断调用sendOne()的函数: function sendForever() { sendOne(); setImmediate(sendForever); } 最初我尝试使用process.nextTick(sendForever)但是我发现它总是把事件队列放在事件队列的顶端,甚至在IO事件之前,正如文档所说 : 它在任何其他I / O事件(包括定时器)在事件循环的随后滴答中触发之前运行。 这样可以防止发送 IO事件的发生,因为nextTick在每次打勾时都会不断地将sendForever放在队列的顶端。 队列随着未读IO事件增长,直到它使Node.js崩溃: fish: Job […]

NodeJS UDP多播如何

我试图发送一个UDP组播包到:230.185.192.108,所以每个人订阅将收到。 有点卡住了。 我相信它的播放是正确的,但似乎无法与任何客户端进行比较。 服务器: var news = [ "Borussia Dortmund wins German championship", "Tornado warning for the Bay Area", "More rain for the weekend", "Android tablets take over the world", "iPad2 sold out", "Nation's rappers down to last two samples" ]; var dgram = require('dgram'); var server = dgram.createSocket("udp4"); server.bind(); server.setBroadcast(true) server.setMulticastTTL(128); server.addMembership('230.185.192.108'); setInterval(broadcastNew, 3000); […]