问题标签 [multicastsocket]

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 投票
1 回答
222 浏览

java - 同一个服务器监听不同的套接字

我有一个 UDP 多播服务器在 2 个不同端口上的 2 个套接字上侦听。我实现了从客户端监听这 2 个套接字。但我想确定客户端在哪个套接字上发送数据包。因为我的问题是;如果我在服务器上侦听套接字(9999)并且客户端在套接字(8888)上发送,那么在服务器端我希望它识别传入的数据包来自哪个端口。

0 投票
2 回答
5663 浏览

java - IPv6 组播示例

我已经搜索了如何实现简单的 ipv6 多播示例的示例,但是我只找到了使用 ipv4 的示例。

任何人都可以提供一个简单的“helloworld”ipv6 多播示例吗?

0 投票
1 回答
2531 浏览

java - 同一主机和端口上同一组中的 Java 多个多播套接字

我正在使用多播来实现一个简单的发现服务。应用程序上的多个实例必须能够在同一主机上运行,​​因此我最终会得到多个多播套接字,它们是同一主机上同一组的成员。

在 Linux 上,这按预期工作。主机上的每个应用程序实例都会接收发送到多播地址的消息。

然而,在 Windows 上,只有第一个加入多播组的应用程序才能接收发送的消息。

这是我用来创建多播套接字的代码:

我需要设置一些选项吗?我试过搜索 API,但找不到任何东西。

编辑:根据这个网站,我需要设置SO_REUSEADDR,但这只能在套接字绑定之前设置。MulticastSocket 的构造函数似乎在创建时绑定了套接字。

0 投票
1 回答
1251 浏览

c++ - 如何让两个多播套接字侦听具有相同端口的两个多播通道

我大致有以下多播套接字代码。它工作正常。现在我需要在同一台机器上加入两个多播频道,例如 224.10.13.18 - 55001 224.10.13.34 - 55001

并且根据它来自哪个 IP 地址,我需要以不同的方式处理该消息。

问题是如何使用为端口值相同的多播通道创建两个套接字,以便每个套接字仅返回对发送到该通道的数据的读取。

0 投票
2 回答
683 浏览

java - MulticastSocket 未打开端口

我正在尝试在我的 PC(Ubuntu,客户端)和我的手机(Android,服务器)之间创建一个简单的多播通信。

单播/TCP 连接正常工作,定义的端口 (37659) 在 PC 和手机上都打开。尝试使用 MulticastSocket 时,没有打开任何端口。nmap告诉我指定的端口 (36963) 是 TCP 端口并且它已关闭。(在receive执行 - 方法时)。

难道我做错了什么?还是防火墙阻止了多播套接字?(我已经尝试了大约 20 个不同的端口,但没有一个工作......,目前使用端口 36963)

编辑:同样在防火墙完全关闭的情况下,nmap 告诉我端口已关闭......

服务器的代码(电话):

客户代码(电脑):

0 投票
1 回答
476 浏览

c - 具有两个不同套接字的多播连接组

我在 C 中创建多播服务器/客户端 udp 应用程序,其中服务器正在向多播客户端组发送数据,如果未收到数据,则客户端请求重新传输。我想在服务器端和客户端创建两个套接字。在服务器端,一个套接字用于发送多播,另一个用于接收来自客户端的回复。在客户端,一个套接字用于接收数据,另一个用于回复服务器。让我感到困惑的是因为套接字连接到多播组......客户端使用套接字加入该组。我可以使用两个套接字和一个多播组还是应该创建两个组?什么是最有效的解决方案?我不能有延迟,因为它将是实时的……你有什么建议吗?

谢谢

0 投票
1 回答
364 浏览

java - 发送方和接收方在不同节点上时的 Java IP 多播问题

嗨,我正在尝试 java 多播。

我在 - 10.0.0.1(网关)有一个 WIFI 路由器

和两个节点:

节点_1 - 10.0.0.4 节点_2 - 10.0.0.3

我的 IP 多播发件人如下所示:

我的 IP 多播接收器看起来像:

当我在同一个节点中同时拥有发送者和接收者时,它可以工作,但是当我将它们放在不同的节点中时,它就不起作用了。

我在这里想念什么?

0 投票
2 回答
101 浏览

java - 多播数据包脏了

我正在制作一个非常简单的多播应用程序,其中控制器通过简单的消息锁定和解锁电台。控制器和工作站都有接收线程。出于某种原因,发送第一条消息时,接收良好,但发送第二条消息时,接收不正确,其中附加了一些第一条消息。

例如,

这是电台的接收器:

这是发送控制器消息的地方:

我知道这可能是初学者的问题,但我一般对多播和网络没有太多经验。

0 投票
1 回答
2720 浏览

java - java语音聊天使用multicastsocket编程

我正在尝试使用 java multiCastSocket 编程来实现语音聊天。从麦克风获取输入并尝试在扬声器上聆听。问题是我无法听到任何声音。我通过它进行了wireshark调试,我可以看到我能够将数据包发送到多播组地址,并且我可以看到加入消息,但是没有从多播组地址返回的数据包。任何人都可以看看代码,如果我做错了什么,请告诉我?提前致谢。

/发件人代码/

公共类 MulticastAudioSender {

}

/收货人代码/

公共类 IPMulticastReceiver {

}

0 投票
2 回答
187 浏览

linux - 为什么在接收 UDP 消息时需要绑定?

发送 UDP 消息时不需要 Bind()。原因:我们不需要显式地绑定(),因为操作系统会自动将发件人与 IP 地址和端口号绑定。

为什么需要 bind() 来接收 UDP 消息?发送方可以从接收到的上一条消息中获取接收方的 IP 地址和端口号,并使用该消息发送 UDP 消息,对吗?