您的位置:首页 > 移动开发 > Android开发

Android使用wifi通过UDP协议发送广播数据包给PC接收不到问题解决方法

2012-09-21 11:32 2491 查看
最近在写一个android到PC端的一个通过UDP协议传输广播数据包的问题。

使用自己搭建了一个网络框架:

connector = new DMUDPConnector();

String ip;

try {

ip = WifiUtils.getHotspotIPAddress();

} catch (WifiException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

connector.registerAMessagepoolUsingDefault((byte) 0, StringUDPMessage.class);

connector.runListenReceiveUPDThread(8999,ip,1000,
new UDPMessageListener() {}

实例化datagramSocket以后,然后通过

message.setIpTo(“255.255.255”).setPortTo(8999);

connector.sendUDPMessageViaAnotherThread(message, true);

这里,在框架里面是使用下面的方法实例化 datagramSocket的

dataSocket = new DatagramSocket(listenPort,InetAddress.getByName(binip));

但是 奇怪的是无论如何 无论是手机自身还是PC端都不能接收到这个数据包。

开始以为是没有设置 this.dataSocket.setBroadcast(true);

不过 = =!

经过几番周折,结果发现是一开始就有问题:

dataSocket = new DatagramSocket(listenPort);

如果datagramSocket在实例化的时候不指定 IP 而只指定port。那么就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐