iOS *** 一段时间后自动断开连接

Posted

技术标签:

【中文标题】iOS *** 一段时间后自动断开连接【英文标题】:iOS *** auto disconnected after sometime 【发布时间】:2020-04-14 15:23:44 【问题描述】:

我正在开发一个 *** 应用程序,*** 工作正常,但 15-20 分钟后,它会自动断开连接。 这是我正在使用的配置

        let ***Protocol = NE***ProtocolIKEv2()
        ***Protocol.username = CredentialsManager.shared.accessToken
        ***Protocol.localIdentifier = CredentialsManager.shared.accessToken

        print("*** Connecting to \(self.region.name ?? "Error! Must be a valid region name!")")

        if let region = self.region 
          f
            ***Protocol.serverAddress = region.serverAddress
            ***Protocol.remoteIdentifier = region.serverAddress
        

        let encodedIdentifier = "Secret Password".data(using: .utf8)!
        let item = [kSecClass: kSecClassGenericPassword,
                    kSecAttrGeneric: encodedIdentifier,
                    kSecAttrAccount: encodedIdentifier,
                    kSecMatchLimit: kSecMatchLimitOne,
                    kSecReturnPersistentRef: kCFBooleanTrue as Any,
                    kSecAttrService: "XYZ"] as [CFString : Any]

        var passwordReference: CFTypeRef?
        SecItemCopyMatching(item as CFDictionary, &passwordReference)

        ***Protocol.passwordReference = passwordReference as? Data
        ***Protocol.authenticationMethod = .none
        ***Protocol.useExtendedAuthentication = true

        ***Protocol.ikeSecurityAssociationParameters.encryptionAlgorithm =
            .algorithmAES256GCM
        ***Protocol.ikeSecurityAssociationParameters.integrityAlgorithm = .SHA384
        ***Protocol.ikeSecurityAssociationParameters.diffieHellmanGroup = .group14

        ***Protocol.childSecurityAssociationParameters.encryptionAlgorithm = .algorithmAES256GCM
        ***Protocol.childSecurityAssociationParameters.integrityAlgorithm = .SHA384
        ***Protocol.childSecurityAssociationParameters.diffieHellmanGroup = .group14

        ***Protocol.disconnectOnSleep = false

        self.***Manager.protocolConfiguration = ***Protocol
        let connectRule = NEOnDemandRuleConnect()
        connectRule.interfaceTypeMatch = .any

        self.***Manager.onDemandRules = [connectRule]
        self.***Manager.isOnDemandEnabled = self.connectOnDemand
        self.***Manager.localizedDescription = "XYZ ***"
        self.***Manager.isEnabled = true

请帮帮我,如何识别导致自动断开连接的问题。

【问题讨论】:

【参考方案1】:

使用以下命令更改您的 *** 协议:NE***ProtocolIPSec 也许它会帮助你。

【讨论】:

我不认为这是一个好主意,以前我使用 NE***ProtocolIPSec 并遇到了很多问题,然后我决定使用 NE***ProtocolIKEv2,所有其他问题都解决了,但我仍然面临这个问题。 hm 我不知道你的问题为什么会不幸出现,只是想知道因为我在使用 IKEV2 你之前遇到过什么样的问题 如果您使用的是 IKEv2,请告诉我,您遇到过自动断开连接问题吗? 不是现在..实际上我从来没有在超过 5 分钟内连接过 ***。 和她一样,但用户抱怨断开连接问题,需要解决。【参考方案2】:

您已经配置了"connect on demand",所以下次访问资源时它会自动连接回来。 ios 上的 *** 就是这样工作的,它总是会在空闲时关闭连接。

【讨论】:

已设置按需连接,仍然无法解决此问题。如果你有配置,那是工作,请分享我会很感激。 这就是我要说的:不可能以您认为的方式“解决问题”:您的按需配置是正确的,这就是您可以从 iOS 获得的全部内容,这是不可能的保持连接在后台打开

以上是关于iOS *** 一段时间后自动断开连接的主要内容,如果未能解决你的问题,请参考以下文章

nodejs socket 怎么检测客户端主动断开连接

oracle 连接一段时间自动断开

unity客户端自动断开连接

ssh连上几秒就断开了

SmartIrc4net 一段时间后断开连接

解决Linux SSH连接容易断开的问题