服务绑定到 0.0.0.0 的话,有什么办法自动获取到其他人可以接入的 IP 地址吗?
如题,想要做一种使用场景是,我开了一个服务进程,利用 tcp 与客户端通信。
当然理论情况下是可以由用户设定好这个服务绑定到比如哪个 IP 的哪个端口,但是还想要做一种功能是不用用户设置,直接绑定到 0.0.0.0 并随意选择一个端口,然后在服务绑定好之后再通知客户端说我绑定到哪里了,如果这样的话,那就可以随意开关任意数量的服务端而不用考虑接口地址的设置问题。
========
目前端口问题比较好搞定,比如用户绑定到 127.0.0.1:0,系统自动分配一个端口,绑定后再获取就确定好位置了。但是 IP 的话如果绑定到 0.0.0.0 则没法用类似逻辑。
不太优雅的方法似乎是请求网卡上都有哪些地址?感觉不太好,还有优雅一些的解决方案吗。