【问题标题】:iOS socket disconnect repeatedly after iPhone screen lockiPhone屏幕锁定后iOS套接字反复断开
【发布时间】:2017-11-06 18:49:07
【问题描述】:

当我们执行屏幕iphone屏幕锁定并返回时,每10秒后Socket会反复断开连接。

我在断开事件中为套接字连接编写了代码。所以每当套接字断开连接时,它都会自动连接。

我已经拿了标志isWantToConnect - 这个标志的工作是没有调用closeConnection方法,socket断开然后socket再次连接。

    Initialization:
        var socket = SocketIOClient(socketURL: URL(string: kUrlApi.BaseUrl)!, config: [.log(false),.reconnects(false),.forcePolling(true),.forceWebsockets(true)])
        var isWantToConnect = false

    Connection Methods:
        func establishConnection() {
            isWantToConnect =  true
            if let objSocketEngine = SocketIOManager.sharedInstance.socket.engine, objSocketEngine.connected {
                return
            } else {
                socket.connect()
            }
        }

        func closeConnection() {
            isWantToConnect =  false
            guard let objSocketEngine = SocketIOManager.sharedInstance.socket.engine, objSocketEngine.connected else{
                return
            }
            socket.disconnect()
        }

    Disconnect Subscriber:
        func addDisconnectHandler() {
            socket.on(clientEvent: .disconnect) { (dataArray, ack) in
                print("Socket Disconnected !!! SocketSid : \(self.socket.sid ?? "") Time : \(Date())")
                if self.isWantToConnect{
                    self.perform(#selector(self.establishConnection), with: nil, afterDelay: 0.1)
                }
            }
        }

This is logs:

Socket Error !!! SocketSid :
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid :
Socket Disconnected !!! SocketSid : Time : 2017-11-06 08:06:45 +0000
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid : BjnJLzWfWeRSx8IFAABu
Socket Connected Successfully !!! SocketSid : BjnJLzWfWeRSx8IFAABu Time : 2017-11-06 08:06:46 +0000
Socket StatusChange !!! SocketSid : BjnJLzWfWeRSx8IFAABu
Socket StatusChange !!! SocketSid : BjnJLzWfWeRSx8IFAABu
Socket Disconnected !!! SocketSid : BjnJLzWfWeRSx8IFAABu Time : 2017-11-06 08:06:56 +0000
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid : tMPTz3G4vcmODifgAABv
Socket Connected Successfully !!! SocketSid : tMPTz3G4vcmODifgAABv Time : 2017-11-06 08:06:57 +0000
Socket StatusChange !!! SocketSid : tMPTz3G4vcmODifgAABv
Socket StatusChange !!! SocketSid : tMPTz3G4vcmODifgAABv
Socket Disconnected !!! SocketSid : tMPTz3G4vcmODifgAABv Time : 2017-11-06 08:07:07 +0000
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid : DGNxKJ6uH6rnAeusAABw
Socket Connected Successfully !!! SocketSid : DGNxKJ6uH6rnAeusAABw Time : 2017-11-06 08:07:07 +0000
Socket StatusChange !!! SocketSid : DGNxKJ6uH6rnAeusAABw
Socket StatusChange !!! SocketSid : DGNxKJ6uH6rnAeusAABw
Socket Disconnected !!! SocketSid : DGNxKJ6uH6rnAeusAABw Time : 2017-11-06 08:07:18 +0000
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid : fWE8kHldjkxnnDgsAABx
Socket Connected Successfully !!! SocketSid : fWE8kHldjkxnnDgsAABx Time : 2017-11-06 08:07:19 +0000
Socket StatusChange !!! SocketSid : fWE8kHldjkxnnDgsAABx
Socket StatusChange !!! SocketSid : fWE8kHldjkxnnDgsAABx
Socket Disconnected !!! SocketSid : fWE8kHldjkxnnDgsAABx Time : 2017-11-06 08:07:29 +0000
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid : 2FfWJL54HfyvWK62AABy
Socket Connected Successfully !!! SocketSid : 2FfWJL54HfyvWK62AABy Time : 2017-11-06 08:07:29 +0000
Socket StatusChange !!! SocketSid : 2FfWJL54HfyvWK62AABy
Socket StatusChange !!! SocketSid : 2FfWJL54HfyvWK62AABy
Socket Disconnected !!! SocketSid : 2FfWJL54HfyvWK62AABy Time : 2017-11-06 08:07:40 +0000
Socket StatusChange !!! SocketSid :
Socket StatusChange !!! SocketSid : AZVawjUwtF84VBB8AABz
Socket Connected Successfully !!! SocketSid : AZVawjUwtF84VBB8AABz Time : 2017-11-06 08:07:41 +0000

【问题讨论】:

    标签: ios objective-c iphone swift sockets


    【解决方案1】:

    尝试使用这个库: 非常有用并且完美运行! https://github.com/daltoniam/Starscream

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 2020-05-06
      • 2016-07-06
      • 1970-01-01
      • 2019-03-07
      • 2013-10-13
      • 1970-01-01
      相关资源
      最近更新 更多