❶ 我电脑怎么接受不到UDP组播的数据
一般是多个导致的,建议先禁用虚拟机的2个虚拟网卡VMnet1和VMnet8,如果还不行,就把不用的网卡都禁用
❷ 如何在局域网使用组播(多播).
1、交换机开启多播功能。
2、ghostsrv和客户端的ghost要求版本同一。
3、最好先用ghostsrv采集母盘,成功率比较高。
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。
❸ 如何接收多播IP地址的数据
多播时需要特定的MAC地址,因为在以太网中的2层及以下是不识别IP地址的,只认MAC,所以不需转换成MAC地址,一个多播(组播)对应一个MAC,网卡的地址虽然固定,但是,它可以监听到任何MAC的通讯,只要它连接的网线上有的数据,只不过在向上层传输时,一般会被忽略掉,是否向上层传输是可以设置的,甚至可以接受2层所有能接收到的数据,传输给应用层,只要设置正确的话。
❹ 接收组播视频 如何设置特定网卡
我的应用是设置一个组播地址和端口号,然后接收音视频数据播放,设置的时候有...解决多网卡环境下使用特定网卡广播UDP消息的问题 多网卡环境下发送UDP广播到...
CSDN论坛
2014年6月5日
❺ TP-Link 的 R406,怎样才能使外网收到内网地址发送的组播数据呢
好像不行吧?
开启了特定服务的主机才可以收到组播
网关如果不开启这种服务,那它就不会接收,转发就无从谈起。
网关即使开启了这种服务,那它也只会接收,还是不会转发。
❻ 电脑接收不到组播数据怎么处理windows7
如果您禁用“媒体感知”功能,则可能会遇到一些问题。例如,假设您的计算机上安装了两个网络适配器,如果在您禁用“媒体感知”功能后,其中的一个网络适配器不能工作,则该适配器将取消绑定。此外,如果配置了默认网关,则会删除关联的路由,以使所有通信通过另一个网络适配器进行。
❼ 40、在Java中,如何实现组播通信
编辑一个java组播应用程序的过程如下
1. 创建一个用于发送和接收的MulticastSocket组播套接字对象
2. 创建一个指定缓冲区大小及组播地址和端口的DatagramPacket组播数据包对象
3. 使用组播套接字joinGroup(),将其加入到一个组播
4. 使用组播套接字的send()方法,将组播数据包对象放入其中,发送组播数据包.
或者
使用组播套接字的receive()方法,将组播数据包对象放入其中,接收组播数据包
5. 解码组播数据包提取信息,并依据得到的信息作出响应String s = new String(dp.getData(), 0, dp.getLength());
6. 重复过程4和5,即在while循环中实现。
7. 使用组播套接字的leaveGroup()方法,离开组播组;关闭组播套接字
接收组播数据包程序:
Java代码
public class MulticastReceived {
public static void main(String[] args) throws Exception {
InetAddress group = InetAddress.getByName("224.0.0.4"); // 组播地址
int port = 4006; // 端口
MulticastSocket msr = null;
try {
msr = new MulticastSocket(port); // 1.创建一个用于发送和接收的MulticastSocket组播套接字对象
msr.joinGroup(group); // 3.使用组播套接字joinGroup(),将其加入到一个组播
byte[] buffer = new byte[8192];
System.out.println("接收数据包启动!(启动时间:)" + new java.util.Date() + ")");
while (true) {
DatagramPacket dp = new DatagramPacket(buffer, buffer.length); // 2.创建一个指定缓冲区大小及组播地址和端口的DatagramPacket组播数据包对象
msr.receive(dp); // 4.使用组播套接字的receive()方法,将组播数据包对象放入其中,接收组播数据包
String s = new String(dp.getData(), 0, dp.getLength()); // 5.解码组播数据包提取信息,并依据得到的信息作出响应
System.out.println(s);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (msr != null) {
try {
msr.leaveGroup(group); // 7.使用组播套接字的leaveGroup()方法,离开组播组
msr.close(); // 关闭组播套接字
} catch (IOException e) {
}
}
}
}
}
发送组播数据包程序:
Java代码
public class MulticastSender {
public static void main(String[] args) throws Exception {
InetAddress group = InetAddress.getByName("224.0.0.1"); // 组播地址
int port = 4000; // 端口
MulticastSocket mss = null;
try {
mss = new MulticastSocket(port); // 1.创建一个用于发送和接收的MulticastSocket组播套接字对象
mss.joinGroup(group); // 3.使用组播套接字joinGroup(),将其加入到一个组播
byte[] buffer = new byte[8192];
System.out.println("接收数据包启动!(启动时间:)" + new java.util.Date() + ")");
while (true) {
String message = "Hello" + new java.util.Date();
byte[] buffer2 = message.getBytes(); // 2.创建一个指定缓冲区大小及组播地址和端口的DatagramPacket组播数据包对象
DatagramPacket dp = new DatagramPacket(buffer, buffer.length, group, port);
// msr.receive(dp); //接收组播数据包
mss.send(dp); // 4.使用组播套接字的send()方法,将组播数据包对象放入其中,发送组播数据包
// String s = new String(dp.getData(), 0, dp.getLength()); //5.解码组播数据包提取信息,并依据得到的信息作出响应
System.out.println("发送数据包给" + group + ":" + port);
Thread.sleep(1000);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (mss != null) {
try {
mss.leaveGroup(group); // 7.使用组播套接字的leaveGroup()方法,离开组播组
mss.close(); // 关闭组播套接字
} catch (IOException e) {
}
}
}
}
}
❽ 组播业务直接推流在pc可以收到么
可以的 只要PC上有能够接收组播数据的程序 并且PC所在的网络中二层和三层都有组播协议的支持 从PC上的接收程序到组播源之间 单播路由畅通 组播路由畅通 就OK
❾ 程序为什么接收不到组播的消息
我们测试组播的时候都是用VLC播放器来测试的 你可以把组播源和接收端都换成VLC播放器试一下 如果用VLC正常 说明是程序问题
如果用VLC也不能正常接收 那么检查一下二层和三层的路由协议 看看电脑连接的交换机有没有启用IGMP协议 并加入相应的组 再看看从接收端到组播源的单播路由是否正常 单播路由正常的话 再排查组播协议的配置
❿ 电脑接收不到组播数据怎么办windows7
Windows 包含“媒体感知”功能。在使用传输控制协议/Internet 协议 (TCP/IP) 且基于 Windows 的计算机上,Windows 会检测网络媒体是否处于“链接状态”。只要 Windows 检测到媒体处于“故障”状态,它就会从该适配器中删除绑定的协议,直到检测到该适配器重新“正常工作”时为止。
你的异常应该就是Windows 检测检测不到正常造成的。也就是说你需要更改系统注册表以使系统网络适配器检测此状态。
(提醒下,修改注册表之前,一定要先进行备份,修改此注册表有一定风险,若因错误操作可能需要重装系统。步骤是微软提供的。)
要禁止网络适配器检测该链接状态,请按照下列步骤操作。
注意:NetBEUI 和 IPX 无法识别“媒体感知”。
使用注册表编辑器 (Regedt32.exe) 来查看下面的注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
添加以下注册表值:
数值名称:DisableDHCPMediaSense
数据类型:REG_DWORD - 布尔值
数值数据范围:0、1(False、True)默认值:0 (False)
说明:此参数控制 DHCP 媒体感知行为。如果将此数值数据设置为 1,DHCP(甚至非 DHCP)客户端就会忽略来自接口的媒体感知事件。默认情况下,媒体感知事件触发 DHCP 客户端执行操作,例如,试图获取租约(当发生连接事件时),或者使接口和路由无效(当发生连接断开事件时)。
重新启动计算机。
注意:在 Windows Server 2003 中,控制媒体感知的函数已添加到群集系统中。即使注册表中的 DisableDHCPMediaSense 未经设置或设置为 0 (False),群集系统也会将媒体感知更改为已禁用。随后,由于要启用媒体感知的系统的需要,DisableClusSvcMediaSense 注册表值被引入到 SP1 中。通过使用以下注册表子项,可以设置群集系统的控制函数的打开/关闭:
- 项:HKEY_LOCAL_MACHINE\Cluster\Parameters
- 数值名称:DisableClusSvcMediaSense
- 数据类型:REG_DWORD - 布尔值
- 数据范围:0、1(False、True)- 默认值:0 (False)。
DisableClusSvcMediaSense 默认值为 0 (False)。因此,控制函数处于打开状态,而媒体感知处于禁用状态。可以将 DisableClusSvcMediaSense 设置为 1 (True)。这样,控制函数变为关闭状态。之后,您便可以使用 DisableDHCPMediaSense 注册表项设置媒体感知的启用/禁用状态了。这与 Windows 2000 Server 中的群集环境类似。
注意:如果您禁用“媒体感知”功能,则可能会遇到一些问题。例如,假设您的计算机上安装了两个网络适配器,如果在您禁用“媒体感知”功能后,其中的一个网络适配器不能工作,则该适配器将取消绑定。此外,如果配置了默认网关,则会删除关联的路由,以使所有通信通过另一个网络适配器进行。
另举一例,当您从计算机上断开网络电缆时,如果禁用了“媒体感知”功能,则通知区域的“本地连接”图标将显示“网络电缆没有插好”状态消息。此外,当您运行“ipconfig”命令时,会收到“Media State .....:Cable Disconnected”消息。但在此情况下,网络适配器已绑定到 TCP/IP。要验证网络适配器是否已绑定到 TCP/IP,请查看路由表。要查看路由表,请使用“route print”命令。路由表可显示网络适配器的 IP 地址。还可以使用“ping”命令 ping 网络适配器的 IP 地址,以验证网络适配器是否已绑定到 TCP/IP。