问题标签 [udp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6561 浏览

java - 通过 UDP 传输字节缓冲区

您能否提供一个通过 UDP 数据报在两个 java 类之间传输的字节缓冲区的示例?

0 投票
5 回答
4036 浏览

sockets - 实现实时多人游戏存在哪些问题

我有一些使用套接字制作多人回合制游戏的经验,但我从未尝试过实时动作游戏。我需要处理哪些额外的问题?我是否需要保留玩家行为的历史记录,以防落后玩家过去做某事?我真的需要使用 UDP 数据包还是 TCP 就足够了?还有什么?

我还没有真正决定要制作什么,但出于这个问题的目的,您可以考虑一个 10 人 2D 游戏与 XY 运动。

0 投票
5 回答
7571 浏览

sockets - 无法实现 1Gbit UDP 吞吐量

对于有效载荷小于 1470 的 UDP 数据包,是否有可能实现 1Gbit 吞吐量?由于数据包较小,在实现这种吞吐量(I/O、操作系统、网络等)方面应该存在一些瓶颈。我想驱动程序和硬件可能必须调整为小数据包/高吞吐量。有没有人尝试过使用小型 UDP 数据包成功实现 1Gbit 吞吐量?

0 投票
15 回答
71209 浏览

sockets - 当您需要可靠的 UDP 时,您使用什么?

如果您遇到 TCP 连接可能太慢而 UDP“连接”可能太不可靠的情况,您会使用什么?有各种标准可靠的 UDP 协议,您对它们有什么经验?

请在每个回复中讨论一种协议,如果其他人已经提到了您使用的协议,那么请考虑对他们进行投票并在需要时使用评论进行详细说明。

我对这里的各种选项感兴趣,其中 TCP 处于规模的一端,而 UDP 处于另一端。有各种可靠的 UDP 选项可用,每个选项都为 UDP 带来了一些 TCP 元素。

我知道 TCP 通常是正确的选择,但列出替代方案通常有助于帮助人们得出这个结论。像 Enet、RUDP 等基于 UDP 构建的东西各有优劣,你用过吗,你的经验是什么?

为免生疑问,没有更多信息,这是一个假设性问题,我希望能引出一份答复清单,详细说明需要做出决定的人可以使用的各种选项和替代方案。

0 投票
4 回答
9162 浏览

java - 如何为 Java 套接字指定端口范围?

在 Java 中,您可以将数字零作为 Socket 或 DatagramSocket 构造函数的单个参数。然后 Java 将该 Socket 绑定到一个空闲端口。是否可以将端口查找限制在特定范围内?

0 投票
3 回答
3709 浏览

c# - 远程检查 IP 端口状态

我发现了一篇关于在机器上获取活动 tcp/udp 连接的文章。

http://www.codeproject.com/KB/IP/iphlpapi.aspx

然而,我的问题是我需要能够远程确定活动连接 - 以查看特定端口是否正在运行或正在侦听而不篡改机器。

这可能吗?

看起来不像本机,否则可能会造成安全问题。另一种方法是查询远程服务,然后可以在本地机器上进行必要的调用。

有什么想法吗?

0 投票
4 回答
12060 浏览

vb.net - 使用 VB.NET 发送 UDP 数据,包括十六进制

作为一种爱好,我对编程连接以太网的 LED 标志以在屏幕上滚动消息很感兴趣。但我无法在VB.NET中创建 UDP 发送器(我目前使用的是 2008)。

现在这个标志已经足够好了,有一个关于它的编程规格表

但是发送给它的一行示例(第 3 页):

用 <0x01> 等代码表示十六进制字符。

现在,要将其发送到我需要使用UDP的标志。但是,我在发送之前都将消息编码为ASCII的示例,例如这个(来自UDP:客户端将数据包发送到服务器并从服务器接收数据包):

要在 VB.NET 中输出十六进制代码,我认为语法可能是 &H1A - 发送规范定义为 <0x1A> 的内容。

我可以修改该代码,以正确地将格式正确的数据包发送到此标志吗?

Grant(在发送包含十六进制的数据包之后)、Hamish Smith(使用函数获取十六进制值)和 Hafthor(硬编码 chr() 消息到示例中)的答案在尝试时都不起作用。所以我会研究看看还有什么可能出错的。理论上,如果这个字符串发送成功,我应该会返回一个包含“OK”的消息,这将有助于知道它何时工作。

我已经尝试过,现在能够监控通过的数据包。一个工作数据包示例是这样的(原始十六进制):http ://www.brettjamesonline.com/misc/forums/other/working.raw与我的版本:http ://www.brettjamesonline.com/misc/forums/other /失败的.raw。不同之处在于我的十六进制代码仍未正确编码,在此并排图像中可以看到:http ://www.brettjamesonline.com/misc/forums/other/snapshotcoding.png 。

我已使用此代码生成数据包并发送它:

(完整片段: http: //pastebin.com/f44417743。)

0 投票
6 回答
139019 浏览

tcp - 端口如何与 IPv6 配合使用?

传统的 IPv4 点分四边形表示法用冒号将地址与端口隔开,如以下环回接口上的 Web 服务器示例:

但是使用 IPv6 表示法,地址本身可以包含冒号。例如,这是环回地址的缩写形式:

端口(或其功能等效项)如何以 IPv6 地址/端口端点的文本表示形式表示?

0 投票
3 回答
2521 浏览

windows - UDP和我的电脑?

我最近在我的计算机上打开了 Windows 防火墙日志记录并开始跟踪传入和传出连接。对日志文件感到好奇的是,我注意到许多 UDP 数据包(实际上,它基本上构成了我所有的传入流量),这些数据包没有将我的主机作为目标或源出现在日志中。

我认为这可能是 UDP 的实现细节(数据包在子网中的我的计算机上跳跃)但维基百科的 UDP 并没有再启发我,我不明白为什么我的计算机应该转发这些数据包第一名。

有任何想法吗?

编辑 1:这是带有神秘 UDP 数据包的日志文件行的样子:

239.255.255.250 是广播地址吗?既然你提到了,我看到的 UDP 数据包有非常具体的目的地,基本上是 224.0.0.252、239.255.255.250、18.243.255.255。我还收到了发往 224.0.0.1 的虚拟 ICMP ping。

0 投票
9 回答
10795 浏览

tcp - MMORPG 客户端/服务器编码

MMORPG 客户端/服务器通信中如何使用 UDP 和 TCP 协议?

例如:

客户端是否通过 UDP 向服务器广播(玩家位置等)?或相反亦然?

还是更像是在客户端请求服务器移动播放器时使用 TCP。服务器接收到请求,移动播放器并向客户端返回播放器现在位于 xyz 位置?

聊天频道必须使用 TCP 实现吗?

有没有这方面的好文章/书籍?我找到了零碎的东西,但似乎真正的肉和土豆是从经验中获得的。