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

java - 如何获取发送数据包的主机名

我编写了一个 java 程序,它打开一个多播套接字并使用相同的多播 IP 从任何发送者那里获取一个数据包。

我想知道正在发送的主机和 IP 的名称。

提前致谢

0 投票
0 回答
321 浏览

java - 机器在 Windows 7 中从睡眠或休眠状态唤醒后,多播套接字不起作用

这个问题与多播套接字类似 - 当计算机从睡眠中唤醒时将不起作用。但是这个问题已经结束了,它的解决方案不是我想要的。

我有一个关于多播套接字接收的代码。它可以在 Windows XP、7 和 Mac 上运行。但是现在我发现了一个问题,“当我在windows 7中运行它时,休眠或睡眠PC,然后唤醒PC,套接字无法再接收”。它只发生在 Windows 7 中。在 XP 和 MAC 中没有问题。”

代码是这样的:

有人对此有任何想法吗?

我已经尝试了很多方法来探索它。我曾经使用 WireShark 来监控网络适配器,我可以看到接收到 PC 的多播数据包。但是,java套接字不能一路接收。

0 投票
0 回答
573 浏览

macos - 在 Mac 上使用 JDK 7 时多播套接字不起作用

我有一个关于多播发送和接收的代码。它可以在使用 JDK 6 的 Mac 上运行。但是,当我更改为使用 JDK 7 时,它无法正常工作。

代码是这样的:

使用JDK 7编译运行,VMware运行时无法运行。但是如果使用 JDK 6,即使 VMware 正在运行,它也可以工作。

此外,我尝试使用 WireShark 来监控适配器。而且我发现 WireShark 可以看到使用 JDK 7 运行我的程序时发送和接收的所有多播数据包。但是多播套接字无法接收任何内容。

有人对此有任何想法吗?谢谢你的帮助。

0 投票
1 回答
1106 浏览

c - 跨 adhoc 网络的 C 程序之间的通信

我有以下服务器代码

以及在不同系统上运行的以下客户端代码

我创建了一个 adhoc 网络,它为服务器和客户端分配了两个 IP 地址。10.42.0.1/24 到服务器,10.42.0.47/24 到客户端

但是,从客户端到服务器的单播操作无法正常运行,从服务器到客户端的多播也无法正常运行。

其次,我如何确定两个程序是否属于同一个多播组。客户端上的错误是

setsockopt:无效的参数

或者

setsockopt:没有这样的设备

非常感谢您对此的任何帮助..!!

0 投票
1 回答
2098 浏览

c - ipv6 多播接收

我无法接收服务器发送的多播数据包。我可以看到通过 tcpdump 接收到的数据包。谁能让我知道我在这里做错了什么。谢谢。

0 投票
1 回答
158 浏览

java - J2ME MulticastSocket 替代方案

我在 Android 中有一个使用 MulticastSocket 通信的应用程序。我想在 J2ME 中编写类似的应用程序,使用 MulticastSocket 通过 WiFi 与 Android <-> J2ME 通信。问题是在 J2ME 中没有退出 MulticastSocket。只有DatagramSocket。我可以使用 DatagramSocket 解决这个问题吗?

0 投票
1 回答
652 浏览

java - 似乎我的接收方法没有在 java 中的多播套接字上获取数据包

在 java 中使用多播套接字时接收方法有问题。有一些主机希望使用多播套接字进行群聊。在每个主机上启动两个线程(读取和写入),并且它们都使用加入组 IP 的多播套接字。问题是当receive方法执行时,它没有返回之前从其他主机在它的写线程上发送的数据报包。这是什么问题?这是读取线程的运行方法中的一些代码:

写线程的run方法中的代码:

如果需要更多信息,请告诉我。

0 投票
1 回答
957 浏览

java - 当我尝试从 IP 不是 192.168.XX 的网络上的服务器接收数据包时,MulticastSocket.receive() 挂起

我在我的 Windows 7 机器上遇到这个问题,当我尝试在连接到非 192.168.XX 网络的服务器上监听时,Java 中对 MulticastSocket.receive() 的调用将无限期挂起(它永远不会接收数据包) . 只要服务器连接在 192.168.XX 网络上,MulticastSocket.receive() 就不会挂起。我相当确定这是我的 Windows 7 机器上的配置问题,因为它适用于我工作场所运行 Windows XP 和 Ubuntu 10.04 的其他开发系统。

任何帮助,将不胜感激。

更新:

我想通了为什么 MulticastSocket.receive() 无限期挂起。发生的事情是 Windows 防火墙阻止了来自与我的服务器对应的网络的传入数据包。对此问题的快速解决方法是禁用该网络上的 Windows 防火墙(在我的情况下,我在公共网络上禁用了 Windows 防火墙)。之后,MulticastSocket.receive() 能够获取传入的数据包。

0 投票
1 回答
466 浏览

java - 请建议Android WiFi Direct是否支持Multicast Socket通信

在 Android 中使用 WiFi Direct 是否可以建立 MulticastSocket 通信?我尝试了很多 S3 和 Note2 设备之间的多播套接字通信,但没有成功。

WiFi Direct 是否支持 Android 中的 MultiCast 通信。如果是,请分享示例代码。我会非常感激你

0 投票
1 回答
956 浏览

java - MulticastSocket 不要在 mac os x 上禁用环回

我在 mac os x 中有一个严重的问题。我在 mac os x 中开发一个备份分布式应用程序。应用程序必须将文件发送到网络,并且网络的对等方必须备份文件。因此,为此我使用了 2 个线程:第一个线程从系统读取文件并使用我预定义的协议将它们上传到网络,第二个线程正在等待来自网络中其他对等方的消息。

我使用以下代码:

发送线程:

接收线程:

我的问题是:我必须将计算机连接到路由器、一个 windows 和其他 mac os x,并且我在两者中都有相同的代码。当我将文件从 windows 发送到 mac os x 计算机时,一切都很好。mac计算机从windows计算机接收数据包,而windows计算机不接收任何数据包,因为我使用setloopbackmode禁用了multicastsocket上的环回。但是当我从mac os x计算机发送到windows时我遇到了一个问题:windows计算机接收到数据包,但mac计算机也接收到数据包,他不应该接收,因为是自己的数据包,我有禁用环回的setloopbackmode(true) .

我在 os x 中使用 java 1.6,但我已经尝试了 1.7。

我没有这样做,或者这是 osx 上的 java 多播套接字的错误?问候