做一个Android上的UDP通信程序,直接用代码:
mDataSocket = new DatagramSocket(mPort);
第一次连接没有报错,第二次开始报这个错误。字面意思看出是由于端口被占用,未释放导致。虽然程序貌似已经退出,个人猜测是由于系统还没有及时释放导致的。
解决办法:
将上面的代码换成:
if(mDataSocket == null){
mDataSocket = new DatagramSocket(null);
mDataSocket.setReuseAddress(true);
mDataSocket.bind(new InetSocketAddress(mPort));
}
即将端口设置为可重用,然后绑定的方式。我的问题得以解决