java.net.BindException: bind failed: EADDRINUSE (Address already in use)

来源:互联网 发布:卖les衣服的淘宝商城 编辑:程序博客网 时间:2024/05/22 07:03

http://blog.csdn.net/joyce_qin_1986/article/details/8296047

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.<init>(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));
}


0 0
原创粉丝点击