E/NMPWIFI ( 1189): java.net.BindException: bind failed: EADDRINUSE (Address already in use)
W/System.err( 1189): java.net.BindException: bind failed: EADDRINUSE (Address already in use)
W/System.err( 1189): at libcore.io.IoBridge.bind(IoBridge.java:89)
W/System.err( 1189): at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:68)
W/System.err( 1189): at java.net.DatagramSocket.createSocket(DatagramSocket.java:133)
W/System.err( 1189): at java.net.DatagramSocket.(DatagramSocket.java:78)
W/System.err( 1189): at com.nmp.nmpdmc.NMPWIFI$ReceiveUdp.run(NMPWIFI.java:276)
W/System.err( 1189): Caused by: libcore.io.ErrnoException: bind failed: EADDRINUSE (Address already in use)
W/System.err( 1189): at libcore.io.Posix.bind(Native Method)
W/System.err( 1189): at libcore.io.ForwardingOs.bind(ForwardingOs.java:39)
W/System.err( 1189): at libcore.io.IoBridge.bind(IoBridge.java:87)
W/System.err( 1189): ... 4 more
解决方法: 将:udpSocket = new DatagramSocket(DEFAULT_PORT ); 改为: if(udpSocket==null){ udpSocket = new DatagramSocket(null); udpSocket.setReuseAddress(true); udpSocket.bind(new InetSocketAddress(DEFAULT_PORT)); }