作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的应用程序中,将有一个线程始终在运行,并将发送或监听某个端口。
此应用程序在后台运行。有时在创建套接字时,我发现之前被同一个线程使用的端口没有在套接字的 close() 上释放。所以我试过这样
dc = new DatagramSocket(inetAddr);
dc.setReuseAddress(true);
问题是,它也没有到达第二行。在第一行本身,我得到了 expcetion BindException: Address already in use
。
谁能帮我处理这种情况。
有什么办法可以释放端口吗?
感谢和问候,
S苏曼185
最佳答案
DatagramSocket(inetAddr)
绑定(bind)到端口。在绑定(bind)之前,您需要setReuseAddress(true)
。
要做到这一点...使用以下内容:
dc = new DatagramSocket(null);
dc.setReuseAddress(true);
dc.bind(inetAddr);
此构造函数使端口未绑定(bind)。
关于java - 如何在 Java 代码中为数据报套接字设置重用地址选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7832393/
我是一名优秀的程序员,十分优秀!