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

c# - 多播数据包:发送和接收问题

在改编了一些多播教程后,我改变了发送数据包的方法。

就我而言,我创建了一个大小为 的数据包队列bytes[1024],然后通过Socket.Send()所有在线网络适配器发送

问题:

发送时,调用的另一个方法receiveMessage()在单独的线程上运行。使用Socket.Bind(),它捕获数据包,但仅捕获 1 个数据包。

我是否做了太多处理从而延迟(并丢失)收到的数据包?

更新

我正在考虑为传入的数据包添加一个队列,因此 1 个线程捕获并存储,第二个线程处理数据包。

发送方法

接收方式

0 投票
1 回答
204 浏览

c++ - C/C++ 开发人员是否应该了解使用多播的 IGMP 和 BGP 协议?

当我为多播编写 C/C++ 代码时,我是否需要了解协议IGMPBGPPIM之一) ,或者 IGMP/BGP 对我来说完全自动且透明地工作?

对于多播组的不同 IP 地址,不同的协议构建路由是否正确?

  • IGMP:224.0.0.0 - 224.0.0.255
  • BGP:224.0.1.0 - 238.255.255.255

关于使用 UDP 多播的 IGMP/BGP,我需要了解什么?

0 投票
0 回答
106 浏览

android - 端口 80 上的 MulticastSocket

我想创建一个网络应用程序,其中某些设备必须将数据包发送到同一台设备。该设备是安卓设备。我的想法是将消息广播到网络,以便设备得到它。我在 Internet 上进行了检查,发现一种解决方案可能是 MulticastSocket。我已经按照 javadoc 中的教程进行操作,这很容易。我是在我的安卓手机和一台电脑上完成的。我现在遇到的问题是我希望这个套接字绑定在端口 80 上。实际上,当我尝试创建套接字时,我得到了一个错误,更准确地说是 EACCES。这是我的服务器的代码:

}

有人知道如何解决吗?此外,是否有人知道组的名称是否必须是服务器的 ip 或者它可能是“随机”字符串?

谢谢 !

0 投票
1 回答
2203 浏览

android - java.net.SocketException:setsockopt 失败:ENODEV(没有这样的设备)

0 投票
1 回答
8847 浏览

java - java.net.SocketException:不是多播地址

我正在使用 MulticastSocket,当我尝试加入一个组时,当我在“localhost”ip 上运行组时它永远不会工作。但是,我发现这篇文章http://lycog.com/programming/multicast-programming-java/指出范围应该在 224.0.0.1 和 239.255.255.254 之间。当我从该 IP 中创建一个 InetAddress 并加入该组时,它就起作用了。请解释为什么这是必要的。

例子:

//抛出

有效的例子:

0 投票
1 回答
228 浏览

java - 为什么多播不起作用?

我的程序无法正常运行。问题是第二个客户端看不到来自第一个客户端的消息。我认为问题出在while循环中。只是不从 IP 地址读取。你能帮助我吗?先感谢您。

0 投票
1 回答
9138 浏览

linux - Openwrt 允许多播流量

我在一个设备上运行 openwrt 并且有一个 python 脚本来监听和打印 239.2.1.1 上的多播流量。

但是,屏幕上没有打印任何内容,我相信这是防火墙问题。如何确保在运行 openwrt 的 lan 接口上允许多播流量?

0 投票
0 回答
554 浏览

java - Java 通过 UDP 向 Android 广播音频

我正在做一个应用程序来接收由运行我编写的 java 服务器的 Raspberry 广播的实时音频,并且它必须广播到多个客户端。现在我正在使用 MulticastSocket 来实现它。

到目前为止的问题是接收到的音频中断了,我不知道为什么。另一个问题是Marshmallow Android,它不能加入一组MulticastSocket,当其他设备加入服务器时,Android会自动切断音频。

安卓端:

和 UDP 服务器:

提前致谢。

0 投票
0 回答
485 浏览

android - 为什么多播在 Android 中无法正常工作

我正在尝试在网络上发现我的应用程序。所以我选择multicast技术。但它在Android中是不一致的。

允许

锁定多播过滤器

发送多播

接收多播

我已经在 Samsung Gallaxy SII 和 Moto G 中测试了这些代码。

0 投票
1 回答
396 浏览

android - MulticastSocket Android 与互联网有关吗?

我正在向多播组添加一个网络接口(eth)以进行网络广播,因为我需要创建jMDNS对象。以太网接口TCPIP用于蓝牙。我面临一个问题,在服务发布中加入多播组后,需要激活 Internet/Wifi 才能创建 jMDNS 对象。在 jmdns 的客户端服务发现中,不需要创建 Multicast 或加入 Multicast Group。

因此,如果在创建多播套接字并加入组后发布服务,当我创建 jmdns 对象(不打开 Internet/Wifi)时,我会遇到异常

java.net.SocketException:setsockopt 失败:ENODEV(没有这样的设备)

如果我在 jmdns 上打开 Internet/Wifi 并且一切正常。

所以我的问题是为什么当我明确使用网络接口进行蓝牙泛绑定时需要打开 Internet/Wifi?

有没有办法解决这个问题?或BT-Tethering总是需要互联网连接?

我在 Android 框架中使用 java 作为编程语言。