快速连接到socket.io时陷入连接状态

时间:2018-08-09 06:46:12

标签: swift socket.io

我正在尝试用swift 4连接socket.io。但是当我尝试按照其文档所述连接套接字服务器时,我的socket.status陷入了连接状态。谁能帮我。这是我连接socket.io的代码。 showconfig是他们的测试套接字聊天服务器。

let manager = SocketManager(socketURL: URL(string:"https://socket-io-chat.now.sh/")!, config: [.log(true), .compress])

func add(){
    let socket = manager.defaultSocket

    socket.on(clientEvent: .connect) {data, ack in
        print("socket connected")
    }

    socket.on(clientEvent: .disconnect) { (data, ack) in
        print("disconnect")
    }

    socket.on(clientEvent: .error) { (data, ack) in
        print("error connect")
    }

    socket.connect()
    for index in 1...50  {
        print("\(socket.status) +\(index)")
    }
}

这就是我调用该类方法的方式。

SocketIOManager().add()

1 个答案:

答案 0 :(得分:1)

创建并连接后,您必须将SocketManager的实例存储在某个地方(或者在您的情况下为SocketIOManager,其中包含SocketManager)。

例如,只需在SocketIOManager中为ViewConroller创建变量(或静态变量)

var socketIOManager = SocketIOManager()

override func viewDidLoad() {
   socketIOManager.add()
}


@IBAction func testButtonTap(_ sender: Any) {
    var status = socketIOManager.manager.defaultSocket.status
    print("\(status)")
}