Tag: udp

如何将套接字绑定到多个端口NodeJS

我build立了一个节点应用程序,它从IP地址的端口接收数据包,并将这些内容提供给网页。 这个IP地址有stream量通过两个端口,9999和10000.我的应用程序有以下代码: var PORT_ONE = 9999; var PORT_TWO = 10000; var SENSOR = '239.0.0.1'; var client = require('dgram').createSocket('udp4'); var dns = require('dns'); /* Client starts listening on IP */ client.on('listening', function () { console.log('UDP Client listening on ' + SENSOR + ":" + PORT_TWO); client.setMulticastTTL(1); client.addMembership(SENSOR); }); /* Client receives a message */ client.on('message', function […]

WebRTC数据通道服务器到客户端的UDP通信。 目前可能吗?

是否有可能在Node.js上使用WebRTC Data Channels来模仿WebSockets的function,除了使用UDP? 实质上,我想有一个运行Node.js的服务器,浏览器客户端可以通过JavaScriptbuild立一个全双工双向UDP连接。 我的问题和8个月前的一样。 我重新发布,因为唯一的答案是: 是的,理论上你应该可以做到这一点。 但是,您需要一个支持WebRTC数据通道的节点模块,以便可以像其他任何对等端一样连接到它。 不幸的是,通过当前模块扫描,我没有看到一个实现数据通道。 你们谁都知道这个模块? 在我的search中,我find了一些带有“webrtc”和“datachannel”的节点模块,但是他们看起来并不像需要的东西,它们看起来像是为了特定的需求。

Node.js:禁用UDP DNS查找并使用给定的IP

我有一个简单的CentOS node.js服务器,它应该消耗高频UDP消息,然后将它们转发到另一个服务。 麻烦的是,dgram.send在每次调用时都会进行DNS查询。 这种DNS查找既减缓了消息的处理速度,偶尔也让DNS服务器将node.js主机服务器列入黑名单,并认为它已经被DOS拒绝了。 问题是:如何在node.js中发送一个UDP数据包,而不需要进行DNS查询? 谢谢你的时间。

如何通过NodeJS中的SOCKS5代理发送UDP数据包?

有没有办法通过NodeJS中的SOCKS5代理发送UDP数据包? 同样,是否可以将UDP套接字绑定到特定的localAddress?

将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 () […]