【问题标题】:Socket IO emitWithAck Event Handler getting NO ACK, SwiftSocket IO emitWithAck 事件处理程序得到 NO ACK,Swift
【发布时间】:2019-07-06 02:13:48
【问题描述】:

在建立socket 连接后,我用timingOut(after: 10) 在10 秒后调用emitWithAck 事件Event Handler 返回NO ACK 结果。

如果我给 timingOut(after: 0) ,则 Event Handler 不被调用

下面是我的代码,

socket.emitWithAck("getUserPoints", jsonUser.object as! SocketData).timingOut(after: 10) {data in
}

注意:此问题并非一直存在。在某些情况下,我面临这个问题。有人可以帮忙吗?

【问题讨论】:

  • 看看是不是你的情况:stackoverflow.com/questions/41286357/…
  • 谢谢@chengsam。但我只有在建立连接后才会发射。 lazy var onConnect: NormalCallback = {[unowned self] (data, ack) -> Void in socket.emitWithAck("getUserPoints", jsonUser.object as! SocketData).timingOut(after: 10) {data in } }
  • @AustinMichael 你知道了吗,因为我遇到了同样的情况。

标签: swift socket.io


【解决方案1】:

我遇到了同样的问题,我在连接套接字之前找到了我正在调用socket.emitWithAck 检查socket.status 我已经通过添加这样的处理程序来解决它

      socket.once(clientEvent: .connect) {data, ack in
      socket.emitWithAck("getUserPoints", jsonUser.object as! SocketData).timingOut(after: 10) {data in
       }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多