问题标签 [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 回答
1611 浏览

java - Java:使用MulticastSocket接收时确定接收地址

我正在使用 MulticastSocket 接收 UDP 多播数据包。如何确定这样的数据包发送到哪个地址?使用提供的方法,我只能确定发件人地址。

当然,我是在创建侦听套接字时设置 To-Address 的人,但我真的可以确定吗?广播包呢?以某种方式最终到达这里的数据包呢?我真的很想区分数据包是否真的是多播的。

谢谢!

更新:目前似乎刚刚发送到该端口的单播数据包也最终在多播套接字中接收():(绑定到设备也没有给我更好的结果

0 投票
2 回答
3254 浏览

java - MulticastSocket 失败后没有响应

尝试在 MulticastSocket 上调用 joinGroup(addr) 时出现 SocketException。这只发生在我们设置为在机器启动时自动启动我们的应用程序的 Windows 机器上。

似乎抛出异常是因为 Windows 尚未完全完成其启动过程,这里是异常。

在我们的应用程序启动时,如果我们在尝试加入群组之前等待一分钟,一切正常。

所以我们决定放入一个重试循环,以便它在网络可用时立即连接,这似乎工作。两次失败后,第三次尝试加入该组成功。

问题是,现在 MulticastSocket 没有收到来自组的任何消息,即使它加入得很好。

每次失败后我都会创建一个新的 MulticastSocket 并丢弃旧的。

为什么在一个 MulticastSocket 上加入组失败会影响没有任何错误加入的组,我怎么可能解决这个问题?

0 投票
2 回答
5760 浏览

objective-c - Objective-C - 以编程方式确定 iPod touch 的 IP 地址

我正在用 Objective-C 为几个 iPod 设备编程,我想知道一些事情。我正在开发一个利用服务器-客户端模型的应用程序,并且我正在使用带有 C 套接字的 UDP 协议。是否有一个类可以让我确定 iPod 设备的 IP 地址?在谷歌搜索其他论坛后,我没有找到任何东西。显然这个命令是行不通的,但是像 ipAddress = self.ip 这样的命令是我想到的。我正在设置多播 C 套接字,我正在尝试做一个类似于 ping 命令的解决方法,这显然在 Objective-C 中也不存在,或者据我所知(这是有限的,因为我只是在编程至少在今年夏天开始以来在Objective-C中)。有什么建议或提示吗?

0 投票
2 回答
2367 浏览

c - 从 C 套接字中提取 IP 地址

好的,我对使用 C 套接字还是很陌生,但我想知道是否有一种方法可以提取 IP 地址并添加运行 setsockopt?如果您在下面查看我的代码,我的多播套接字中的所有内容都已准备好发送,除了定义变量 mc_addr 这是我的 IP 地址。

我做错了什么是真正明显的吗?如果是这样,请随时让我知道或提供您的建议。不过现在,我主要关心的是填写变量 mc_addr。

我以前从来没有用过 C 编程(只是 python、C++,而且从今年夏天开始,Objective-C),所以这就是为什么我不知道所有关于 C 语言的知识并且正在寻求帮助。

文件.h

文件.c

0 投票
2 回答
11470 浏览

objective-c - 帮助发送/接收 UDP 数据包 - C 套接字

好的,如果您查看我以前的一些问题,我一直在努力建立一个简单的连接并使用 C 套接字运行(我对程序的整个网络方面仍然相当陌生,但每个人都必须从某个地方开始, 对?)。到目前为止,我已经包含了下面的代码,当我执行它时,我没有收到任何错误,但同时,我没有收到另一端的数据包。顺便说一句,我在 Objective-C 中编写多播套接字,“msgStatus”只是我 GUI 中的一个标签(它连接正确,所以那里没有问题)。我只是没有看到我要去哪里错了。有人可以帮助我或指出我正确的方向吗?谢谢!

这是我用来提取 IP 地址的代码。

0 投票
2 回答
2545 浏览

java - Java MulticastSocket 是线程安全的吗?

我有两个线程。第一个在循环中使用 MulticastSocket 发送数据报;第二个线程在循环中使用相同的 MulticastSocket 实例接收数据报。

它似乎工作正常,但我仍然有疑问。

这两个线程可以使用同一个 MulticastSocket 实例吗?MulticastSocket 在发送/接收方法调用方面是线程安全的吗?

0 投票
1 回答
1146 浏览

c++ - SSDP 使用 M-SEARCH 获取共享文件夹列表?

我正在使用 SSDP 使用 M-SEARCH 发送发现请求以获取存在的服务列表。我的要求就像我想获取该服务器中也存在的共享文件夹列表。

目前,我正在以这种格式发送这个请求:

我得到这些参数的响应:

我还想拥有该服务器上存在的共享文件夹列表。我怎么能得到那个?我需要指定任何其他参数吗?欢迎任何代码片段或想法。

0 投票
1 回答
3897 浏览

linux - 从 Linux 上的特定网络接口接收多播

我正在尝试从 CentOS 5.5 上的特定网络接口接收多播数据

但我正在从所有接口接收数据包。

怎么了?

0 投票
2 回答
3410 浏览

android - Android 多播套接字停止侦听

我在 Android 上有一个服务,它监听并响应它通过多播接收的数据包。

这在大多数情况下都有效,但不幸的是,我发现它会时不时地停止接收数据包。线程在调用 MulticastSocket.receive() 时保持阻塞,但没有任何结果。我一直在慢慢地试图找出是什么触发了这种情况,我发现关闭再打开无线,或者改变无线连接就可以了。

为了成功继续监听我的数据包,我需要关闭 MulticastSocket 并重新创建它。但是,我还没有找到任何方法来执行此操作 --- 我似乎没有收到任何通知表明发生了什么事:没有意图,没有 Java 异常,什么都没有。如果套接字无效,我希望接收会抛出 IOException,但这似乎没有发生。

任何人都可以就(a)实际发生的事情以及(b)如何解决它提供任何见解吗?现在我最好的猜测是每隔十秒左右不断地销毁和重新创建套接字,这只是邪恶的。

0 投票
2 回答
16061 浏览

java - Java-Android 上的 MulticastSocket 问题

我开始使用 MulticastSocket 进行编码,尝试用客户端和服务器制作一个简单的应用程序来发送消息。

我为服务器提供的代码:

这在客户端:

问题是,当我同时启动两者时,什么都没有发生。客户端没有收到任何消息。

知道有什么问题吗?