首页 > 解决方案 > 无法在 Swift 中使用 Socket.IO 客户端从服务器读取响应

问题描述

我正在尝试从 iOS 客户端连接到我的 Socket.io 服务器(Node/Express)。这是服务器(JS)的代码:

// Server Code
io.on('connection', (socket) => {

    console.log('user connected');


})

这是我的客户端代码(Swift):

override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        
        // Testing Socket.io
        let manager = SocketManager(socketURL: URL(string: "http://<my ip address>:3001")!, config: [.log(true), .compress])
        let socket = manager.defaultSocket
        
        socket.on("connection") {data, ack in
            print("EG socket connected")
        }
        
        socket.connect()
    }

我期待 Swift 控制台打印“EG socket connected”。相反,这是我收到的:

2021-07-09 22:02:16.481690-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Adding handler for event: connection
2021-07-09 22:02:16.482397-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-07-09 22:02:16.482630-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Joining namespace /
2021-07-09 22:02:16.482906-0400 Skull-King iOS Client[62477:10032406] LOG SocketManager: Tried connecting socket when engine isn't open. Connecting
2021-07-09 22:02:16.483073-0400 Skull-King iOS Client[62477:10032406] LOG SocketManager: Adding engine
2021-07-09 22:02:16.484655-0400 Skull-King iOS Client[62477:10032406] LOG SocketManager: Manager is being released
2021-07-09 22:02:16.484700-0400 Skull-King iOS Client[62477:10032656] LOG SocketEngine: Starting engine. Server: http://<my ip address>:3001
2021-07-09 22:02:16.484879-0400 Skull-King iOS Client[62477:10032656] LOG SocketEngine: Handshaking
2021-07-09 22:02:16.484923-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Client is being released
2021-07-09 22:02:16.487428-0400 Skull-King iOS Client[62477:10032656] LOG SocketEnginePolling: Doing polling GET http://192.168.1.220:3001/socket.io/?transport=polling&b64=1&EIO=4
2021-07-09 22:02:16.653389-0400 Skull-King iOS Client[62477:10032658] LOG SocketEnginePolling: Got polling response
2021-07-09 22:02:16.653593-0400 Skull-King iOS Client[62477:10032658] LOG SocketEnginePolling: Got poll message: 0{"sid":"BateC4jf7tW2ET39AAAF","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021-07-09 22:02:16.654032-0400 Skull-King iOS Client[62477:10032658] LOG SocketEngine: Got message: 0{"sid":"BateC4jf7tW2ET39AAAF","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021-07-09 22:02:16.656761-0400 Skull-King iOS Client[62477:10032655] LOG SocketEngine: Engine is being released

我错过了一步吗?

标签: node.jsswiftsocketswebsocketsocket.io

解决方案


推荐阅读