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

今天,在做一个关于wifi的小功能的时候碰到了一个问题。。。网上找了半天资料但是和我的问题都不相符,所以写下篇文章记录一下。

	if (iAddress == null) {
			iAddress = InetAddress.getByName(String.format("%d.%d.%d.%d",
					(ipAddress & 0xff), (ipAddress >> 8 & 0xff),
					(ipAddress >> 16 & 0xff), (ipAddress >> 24 & 0xff)));
		}
		return iAddress;

可见上面的代码只是一个返回InetAddress的方法,但一次进程序时不会报错,第二次就会报错,错误信息为

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

第一反应就是赶紧上网找答案,但是网上搜索到的大部分都是说udp的。


后来我就自己思考了一下,这个异常报的是端口已绑定,网上的意思大部分就是说之前绑定过退出程序时没有解绑定。。。可是我也不知道怎么解除绑定啊


然后后来我试验了一下在service里绑定。。。然后就没然后了,运行成功。

记录一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值