Articles of udp

将Node.js中的UDP套接字从应用程序传输到HTTP

是否有可能通过NodeJS将来自应用程序的套接字转移到http? 我发送套接字与应用程序(在c + +中)在UDP或TCP(如果不可能在UDP …)到NodeJS。 我从NodeJS的脚本: var server = dgram.createSocket("udp4"); server.on("message", function (content, rinfo) { console.log("socket: " + content + " from " + rinfo.address + ":" + rinfo.port); }); server.on("listening", function () { }); server.bind(7788); 到现在为止,这个function,但如何将我的套接字转移到Socket.io例如? 我想发送套接字到Socket.io(例如)将套接字转移到HTTP。 通过使用像这样的函数,但不更新与socket.iobuild立连接: io.sockets.on('connection', function (socket) { socket.emit(content); }); 谢谢你的帮助。 ++梅特拉。

在nodejs中获取UDP的目标地址

我的服务器在UDP端口上侦听,也收到广播消息。 如果收到的消息直接发送到我的IP或广播地址,我可以检测到? rinfo只是给我的发件人信息

在Socket.IO中使用dgram(UDP)时,数据报发送的速度是多less? (节点)

我使用socket.io和dgram节点库从一个程序通过节点发送UDP消息到浏览器。 代码看起来就像socket.io示例 var dgram = require("dgram"); var dServer = dgram.createSocket("udp4"); dServer.bind(12345, '0.0.0.0'); var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { dServer.on("message", function (msg) { socket.send('message', msg); }); }); 我的问题是数据报最终被发送到浏览器的速度是多less? 它们是以TCP速度,networking套接字速度(我知道速度较慢)还是UDP速度(我知道在实时通信中速度更快)发送的。 另外,在这个例子中,io在端口80上永久监听(意味着它只能以http / tcp速度接收内容),还是只是监听build立套接字连接,然后停止监听(并让套接字连接接pipe)

在收听特定端口时接收广播的数据包

当通过dgram.createSocket('udp4');设置套接字时dgram.createSocket('udp4'); 而不绑定到一个特定的端口,我收到广播的数据包发送到255.255.255.255但是,当我绑定到我的接口的特定IP相同的套接字this.server.bind(67, host); 我不会收到这些广播的数据包。 这是一个正常的行为?

TCP和Node.js的实时多人游戏原则

我一直在阅读关于多玩家networking的Valve 文章,这篇文章是从Yahn Bernier 2001年的论文中提出的,该文章称为客户端/服务器游戏内协议devise和优化中的延迟补偿方法 。 我正在使用通过socket.io连接到客户端的node.js服务器来制作一个实时的多人游戏,关于以下原则我有几个问题: 实体插值 [Interpolation]可以防止抖动,这通常会导致通过caching服务器更新,然后播放它们之间的平滑插补之间的差距。 它还可以防止丢包造成的故障。 客户端预测 预测是客户端的概念,预测本地玩家的行动的影响,而不用等待服务器来确认他们。 实体的预测状态在服务器命令到达时被testing,直到检测到匹配或不匹配为止。 滞后补偿 延迟补偿是服务器使用播放器延迟来处理[用户input]时的后退时间的概念,以便查看玩家在命令发送时看到的内容。 与预测相结合,滞后补偿可以帮助打击networking延迟到几乎从攻击者的angular度消除这一点。 这些原则是否适用于TCP,和UDP一样,在实现上会有什么不同? 我可以看到实体插值不需要防止数据包丢失,但是这样做。 我甚至可以使用UDP和Node.js在服务器和Web浏览器之间进行通信,反之亦然? 既然论文已经十多年了,这些原则还在使用还是有其他技术出现呢? 任何帮助将非常感激。

如何设置一个非常快速的node.js UDP服务器

我对Node.js很陌生,我有一个应用程序的请求,会收到一个UDP数据包的负载和处理它。 我说的是每秒超过400条消息,达到200,000条消息/分钟。 我已经写了一个代码来build立一个UDP服务器(实际上抓取从这里的文档http://nodejs.org/api/all.html#all_udp_datagram_sockets ),但它丢失了大约5%的数据包。 我真正需要开发的是一个服务器,它可以获取数据包并将其发送给另一个工作人员来处理消息。 但看起来像在node.js线程是一场噩梦。 这是我的核心: 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 () […]

发送广播数据报

我需要将广播数据报发送到连接到我的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连接。