我的当前解决方案涉及使用IPHelper的“GetBestInterface”函数,并向其提供IP地址“0.0.0.0”。
您是否有其他解决此问题的建议?
根据一些答案,让我详细说明:
- 我需要这样做是因为我有一个产品,必须选择要绑定的适配器。我无法控制网络或运行产品的主机的设置,因此我需要尽可能强大且尽可能少假设的解决方案。 - 我需要在代码中执行此操作,因为这是产品的一部分。
@Chris Upchurch: 这使我依赖于Google.com处于活动状态(通常不是问题),并且依赖于可能安装的任何个人防火墙允许ping。
@Till: 像Steve Moon所说的那样,仅依赖适配器的地址有点冒险,因为你在内部网络设置上做了很多假设。
@Steve Moon: 查看路由表听起来是个好主意,但我试图使用上面描述的"GetBestInterface",而不是自己应用路由逻辑。我相信它应该做的正是你在答案中概述的内容,但我不太确定。我不愿意实现自己的"路由逻辑"的原因是,如果我使用更多"硬核"网络人员编写和测试的库/API,我犯错的机会会更小。