问题标签 [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 投票
4 回答
5024 浏览

networking - LAN/流量拥塞是什么意思?

在谈论 UDP 时,我看到/听到过几次拥塞。这意味着什么?

0 投票
4 回答
9217 浏览

c# - 仅从特定适配器(例如 192.168.101.1)发送 UDP 广播(255.255.255.255);在 Windows 上

适用于 Windows XP 或更高版本的解决方案。最好在 C# 或 C++ 中。

我们不想使用子网定向广播(例如 192.168.101.255)进行广播,因为我们尝试联系的设备对此没有响应。相反,我们希望能够仅从特定的 NIC/IPAddress 发送目的地为 255.255.255.255 的 UDP 数据报,这样广播就不会在其他 NIC 上发送出去。

这意味着我们必须绕过 IP 堆栈,这就是问题所在。我们如何绕过 Windows 上的 IP 堆栈,仅从特定的 NIC/MAC 地址发送符合 UDP/IP 的数据报?

0 投票
2 回答
4382 浏览

windows - UDP 服务器监听广播

鉴于:
服务器在运行 ActiveState Perl
的 windows xp 上 服务器连接到内部网络和外部网络
内部网络上的计算机正在通过 udp 广播到端口 9722 上的 10.4.255.255

我需要:
收听广播并将消息传递给函数

这是我正在使用的代码:

请注意 &parseInput 返回它传递的原始字符串。

我的问题:
调用 $sock->recv() 后,$string 变为空。使用另一个应用程序,我可以看到毫无疑问有信息正在跨 10.4.255.255 广播,但我无法访问它。
如果可能的话,我想继续使用 IO::Socket::INET。

编辑:我检查了 recv(..) 和 $! 的返回值。recv(..) 和 $! 没有返回值 =“未知错误”。

编辑 2:我正在尝试使用 Socket;现在并具有以下内容:


它会生成错误——recv: Unknown error at ...

0 投票
1 回答
2640 浏览

networking - 普通浏览器中的 UDP 协议支持

在地址栏中输入“udp://host:666”效果不佳。使用普通 Web 浏览器向主机发送单个“空”数据报是否有任何解决方法?

响应没有问题,因为我考虑的用例是端口敲击(“ http://host:666 ”效果不佳,因为如果没有响应,浏览器往往会重复请求,从而违反了指定的敲门序列)。

0 投票
5 回答
8848 浏览

java - Linux 上的 Java:在绑定的本地地址上监听广播消息

我有一个有点奇怪的要求,即能够在 Linux 机器上监听来自 Java 的多个网络接口,并确定其中一个是否接收到某种类型的 UDP 数据包。我需要的输出数据是相关接口的 IP 地址。有没有办法在Java中做到这一点?

监听通配符地址 (new DatagramSocket(port)) 并没有帮助,因为虽然我确实收到了广播数据包,但我无法确定它们通过的接口的本地 IP 地址。在绑定到某个接口(new DatagramSocket(port, address))时收听广播根本不会收到数据包。这个案例值得一个代码示例来展示我正在尝试做的事情:

我还尝试使用基于接口的真实 IP 开头构造的广播地址初始化套接字,其余的根据正确的网络掩码进行初始化:

这只是在构造 DatagramSocket 时抛出一个 BindException。

编辑:使用广播地址(例如 126.255.255.255)调用 DatagramSocket 的构造函数的 BindException(java.net.BindException:无法分配请求的地址)仅随最新的 Ubuntu 9.04 提供(可能不是 Ubuntu,但内核版本特定的问题) . 使用 Ubuntu 8.10,以及我正在处理的 Red Hat 版本(RHEL 4.x)。

显然,在绑定到某个本地 IP 时不接收数据包是正确的行为,尽管在 Windows 中这是有效的。我需要让它在 Linux(RHEL 和 Ubuntu)上运行。对于低级 C 代码,有一种解决方法 setsockopt(SO_BINDTODEVICE),我在 Java-API 中找不到它。不过,这并不完全让我充满乐观:-)

0 投票
2 回答
351 浏览

java - 无法从其他应用程序访问 udp 客户端

我正在尝试使用 UDP 在 Java 中实现客户端服务器应用程序。问题是当客户端连接到服务器时,服务器注册客户端并且另一个应用程序尝试使用 clientIP 和 clientPort 连接到客户端;客户端无法获取任何数据。

我能够重新创建 DatagramSocket 以使用他的 IP 和端口连接到客户端,但是当这由不同的应用程序完成时,无法实现通信。

我想提一下我在服务器上监听客户端的端口与服务器应用程序正在使用的端口不同。

我们如何才能实现这种沟通?

请帮我。谢谢你。

0 投票
1 回答
2440 浏览

networking - BlackBerry Simulator 上的 UDP 连接测试

我正在尝试使用 UDP(数据报)发送数据。我无法在模拟器上测试应用程序。我尝试先运行 MDS,然后运行模拟器,但它不起作用。该错误显示为端口 8080 已在 BlackBerry 模拟器控制台上使用。如何更改模拟器中的端口?我连接的 UDP 端口是 localhost:5014

我正在为 BlackBerry Pearl 8100 使用模拟器。

0 投票
1 回答
7248 浏览

tcp - MSMQ 适用于 TCP 还是 UDP?

我想知道 MSMQ(Microsoft 消息队列)在 TCP 或 UDP 上工作吗?在哪些端口上?

0 投票
2 回答
771 浏览

java - Java 中无法访问 UDP 客户端

我正在运行一个简单的 UDP Java 服务器,它在连接时收集客户端的 IP 和端口,将信息存储在数据库中。

客户端仍在监听服务器。服务器停止。

之后,服务器想重用数据库信息,到达客户端;并且由于客户端仍在侦听服务器的同一端口,我猜客户端应该接收通信。

我是 UDP 新手,请告诉我实现上述目标的方法。谢谢你。

让我重新表述这个问题,因为我确实尝试了 Stackoverflow 成员建议的方法。

服务器可以在很短的时间内联系到客户端,但在 10 分钟后客户端无法访问;虽然看起来客户端一直准备好监听服务器,但是即使尝试了几次,服务器也无法到达客户端。这可能是什么原因?请让我知道处理这个问题的方法

0 投票
1 回答
4637 浏览

udp - 234.xxx IP 地址 - 它是什么

我过去做过很多 UDP 套接字编程,但只听说过通常的保留 IP:

  • 127.0.0.1
  • 192.168.xx
  • 10.xxx

但是从 IP2Location 它说多播。234.5.5.1实际 IP 地址还是保留的?