通过 LAN 广播 UDP 数据报包

Posted

技术标签:

【中文标题】通过 LAN 广播 UDP 数据报包【英文标题】:Broadcasting a UDP datagramPacket over LAN 【发布时间】:2013-11-05 21:36:08 【问题描述】:

我是网络编程的初学者。和 我正在尝试使用 Java 中的 UDP Datagramsocket 构建对等网络应用程序。 我需要在不同主机上的对等方之间广播消息(运行 Windows 7 的 PC 连接到我的局域网)。 我使用以下代码广播消息:mySocket = new DatagramSocket(myport);mySocket.setBroadcast(true); broadCastPacket = new DatagramPacket(packetbroad, packetbroad.length , InetAddress.getByName("255.255.255.255"), 11235); mySocket.send(broadCastPacket);

当我在一台 PC 上测试它时,它工作正常。但是当我在不同的终端系统(主机/两台 PC)上测试它时会出现问题:尽管我的路由器启用了广播并且所有主机上的所有防火墙都被禁用,但这两台主机中没有一台从另一台主机接收到任何广播消息。你能帮帮我吗?

【问题讨论】:

【参考方案1】:

问题已解决 用本地广播地址“192.168.1.255”替换广播IP“255.255.255.255”

【讨论】:

以上是关于通过 LAN 广播 UDP 数据报包的主要内容,如果未能解决你的问题,请参考以下文章

通过 SOCKS 代理发送 UDP 数据包

网络编程之UDP编程

环回中的 WinSock UDP 套接字创建顺序。

通过所有可用的网络接口使用 GCDAsyncUdpSocket 进行 UDP 广播

通过 UDP 发送 RC4 加密数据会导致解密明文发生变化

通过数据报包发送数组的最佳方式是啥?