以编程方式在网络(以太网或WiFi)之间进行选择

时间:2013-01-29 23:55:13

标签: objective-c macos cocoa

在我的Mac上我有两种可用的网络 - 以太网,WiFi。

在拨打服务器电话时,我能以某种方式控制用于拨打服务器的网络通道吗?因此,在进行服务器呼叫之前,我想指定用于该呼叫的网络信道 - 以太网或WiFi。

如何使用目标C实现这一目标。我正在开发一个可可应用程序。

2 个答案:

答案 0 :(得分:0)

我假设两个NIC都连接到Internet(因此两者都有IP):

我认为你不能在代码中解决它(不是100%肯定)。但你可以做的是设置一些本地路由,配置哪些流量通过哪个NIC。

查看路线命令('man route')。

这可能会对您有所帮助:

https://serverfault.com/questions/100613/public-traffic-to-go-over-1-nic-and-private-traffic-to-use-another-nic

答案 1 :(得分:0)

您可以使用系统配置框架修改可用的路由。在scutil(8)中,您可以看到State:/Network/Service/*字典中当前安装的路由,为了以编程方式操作这些路由,您需要使用SCDynamicStore框架,即C。

但是,如果您只是尝试在WLAN上进行一些临时服务,则可以使用Objective-C中的CoreWLAN框架。