写了一个发UDP包程序,写完后自己发包给自己进行测试,目标IP地址设为127.0.0.1 利用wireshark捉包,发觉wireshark捉不到所发的包,LOG中出现 D/SntpClient(61): request time failed: java.net.SocketException: Address family not supported by protocol。请问这是什么问题啊?部分代码如下:
 private void BoardcastUdpDetectPackets() {
// TODO Auto-generated method stub
new Thread(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub

Log.d(TAG, "线程已经启用");
String command = "Start AndroidControlPc Link";
byte data[] = command.getBytes();
try {
serverAddress = InetAddress.getByName("127.0.0.1");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DatagramPacket packet = new DatagramPacket(data,data.length,serverAddress,6000);
try {
socket = new DatagramSocket(6000);
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
socket.send(packet);
Log.d(TAG, "udp包已发送");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
socket.close();
}

}).start();
b_detect.setEnabled(true);
b_connect.setEnabled(true);
}

解决方案 »

  1.   

    你那个wireshark是跑在Android上的么?
    估计不是,你需要用tcpdump在Android上抓包,然后将抓到的包(文件),放到PC上用wireshark打开,分析
      

  2.   

    http://blog.csdn.net/ultrapro/article/details/7097305
      

  3.   

    弱弱的问一下,这个有关系么?我把包发的pc上,按道理wireshark应该捉到发到PC的包吧!!!
      

  4.   

    原来真的是wireshark捉不到包,我真的不明白为什么wireshark捉不到android模拟器发给PC端的包