套接字响应问题

时间:2017-01-11 09:58:08

标签: ios swift

我的应用中有五个标签。登录后显示第二个选项卡,我在第三个选项卡的viewDidAppear中调用了socket连接,如下所示。

SocketIOManager.sharedInstance.connectToServer(decoded, completionHandler: { (List) -> Void in
                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    print("response \(List)")
)}
)

在SocketIOManager下面的代码

func connectToServer(data: AnyObject, completionHandler: (List: AnyObject) -> Void) {
    socket.on("connect") { (dataArray, socketAck) -> Void in
        self.socket.emit("api_request", data)
        print("Socket Connected")
    }
    socket.on("api_response") { ( dataArray, ack) -> Void in
        completionHandler(List: dataArray as AnyObject!)
        //print("acknowledgemt received from \(dataArray)")

    }

}

并在Appdelegate中提供以下代码

func applicationDidEnterBackground(application: UIApplication) {

        SocketIOManager.sharedInstance.closeConnection()
}

func applicationDidBecomeActive(application: UIApplication) {

        SocketIOManager.sharedInstance.establishConnection()
}

我登录后立即收到回复,然后按第三个标签。只有在关闭应用程序并重新打开它后才能获得响应。

0 个答案:

没有答案