2 gundumw100 gundumw100 于 2015.06.12 17:17 提问

DatagramSocket进行局域网广播,一个wifi下成功,另一个下失败,为何?

在一个wifi下我的IP是192.168.186.28,要向其他手机广播一个消息,那么广播地址应该是192.168.186.255,可是我这样试来试去都不行,为什么?
然后我又换了一个wifi,我的IP是192.168.0.103,那么广播地址应该是192.168.0.255,这样倒是成功的。
为什么同样的代码,只是换了个wifi,一个成功一个失败呢???

1个回答

Arnold9009
Arnold9009   2015.06.12 17:46

有的路由器默认转发广播报文,有的路由器默认不转发

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android如何在局域网中发送广播
Android如何在局域网中发送广播目前做的项目是当两个设备都接入一个Wifi热点后可以找到对方。如何找呢?大家一下子就会想到发送广播,对的就是发送广播。下面是一个实例如何发送一个UDP广播的例子。首先端口是事先约定好的,Android端代码: static void sendBroadCastToCenter(){ WifiManager wifiMgr = (WifiMan
Java DatagramSocket(UDP)要注意的问题
由于byte数组的大小问题,在网络发送过程中,可能包含多余的空格,若接收时要对数据进行比较,最好先将数据做下处理,处理掉多余的空格。
UDP局域网广播实现CS房间列表
/*-------------------------------------------------- * // 文件功能描述:UDP广播IP地址。实现类似CS的局域网房间列表 ---------------------------------------------------*/ using UnityEngine; using System.Collections; using Un
Android--socket 发送广播的那些坑
Socket广播包经常被用于局域网内的两台设备之间互相发现和消息传递,在Android应用开发过程中,也经常会遇到这样的需求,例如:两台Android设备之间、Android与手环等智能硬件之间、Android与Windows电脑之间等等。   本文主要介绍在Android中使用Socket开发广播包程序时需要注意的编程事项,以及解决方法。   首先给出一段Android发送广播包的示例代
android-24中DatagramSocket的坑,以及synchronized的用法详解
最近项目出现在android 7.0 的设备上出现anr,通过排除发现是我用的第三方的jar 中在使用DatagramSocket 关闭链接的时候如下: if (datagramSocket != null) { datagramSocket.disconnect(); datagramSocket.close(); }因为这个编写的时
android 监听wifi成功连接上了一个热点
为知笔记迁移上来的 很久以前的笔记,有点怀念当初刚学这些啥都不懂的时候了。 代码第20行 public class WifiReceiver extends BroadcastReceiver{       @Override       public void onReceive(Context context, Intent intent) {  
基于Android热点的局域网UDP广播,部分手机收不到UDP报文的问题
这两天写了个小程序,实现的功能为:一台手机发WIFI热点ap,其他手机接入这一WIFI,在以此组建的局域网内,可以广播消息。为了逻辑的通顺而选择了UDP广播,广播IP选了255.255.255.255 遇到的问题为:其他android手机收不到热点手机的udp广播消息,而热点手机可以收到其他手机以及自己的UDP报文。当关闭了热点手机的数据流量以后,热点手机也不再能够收到自己的UDP报文。 初步
Android网络编程(三)Java中的DatagramPacket与DatagramSocket的初步
1.基本概念:   a.DatagramPacket与DatagramSocket位于java.net包中   b.DatagramPacket表示存放数据的数据报,DatagramSocket表示接受或发送数据报的套接字   c.由这两个类所有构成的网络链接是基于UDP协议,是一种不可靠的协议。   之所以不可靠是因为发送方不负责数据是否发送成功,接收方收到数据时也不会
如何使用Socket在局域网内进行广播
服务器和客户机采用Socket编程。  问题1:服务器进入侦听状态,但是此时客户端并不知道服务器的地址。我该如何做?  问题2:我想使客户端先发出一个广播,服务器接受广播后给客户机发送自己的Ip等信息。  接着再建立Socket通讯。这样对吗?  问题3:是不是进行广播必须是数据报SOCK_DGRAM     问题4:是不是通讯的双方必须都是数据流或数据报?如果服务器是数据流
C#实现局域网UDP广播------C#网络编程杂记[1]
 学校开课C#网络编程,今天就研究了一下"C#实现局域网UDP广播,这一块设置到局域网"飞鸽"类似的通讯软件编程,需要用到的主要命名空间是:System.Net和System.Net.Scoket: 接收端:           Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, Prot