iOS应用程序需要OnDemand VPN,随机断开连接

时间:2016-08-24 19:48:58

标签: ios vpn nsurlsession cfnetwork

我正在开发一款需要访问VPN背后的资源的应用。

我们使用Cisco AnyConnect进行按需VPN设置,但我们一直遇到一个问题,即在使用该应用程序时,VPN将关闭。

有时用户会尝试登录,vpn会建立,用户将登录,然后VPN会立即掉线。

我可以(或应该)对NSURLSession做些什么让它保持活力?

我检查了我的请求标题,我有" connection:keep-alive set",但服务器正在响应"连接:关闭"这是对的吗?

1 个答案:

答案 0 :(得分:1)

这是两个完全正交的事情。 Keep-alive告诉服务器您的应用程序愿意重用TCP连接来发出多个HTTP请求,而不是为每个请求创建单独的连接。它与VPN连接无关。如果它不支持(或被配置为拒绝它们),另一端的服务器可以自由拒绝保持活动请求。所以这是完全合理的。

VPN连接丢失可能是由于点击专门配置为导致VPN断开的URL或VPN崩溃造成的,但也可能是由VPN配置中的超时太短引起的。

无论哪种方式,它都是VPN或其配置的问题,我怀疑作为一个只是试图通过它发送数据的应用程序的作者,你可以做些什么。您可以做的最好的事情就是使用可达性来确定请求是否会导致VPN连接,并记下更积极地重试请求,如果您看到该标志则会失败....