socketio / socket.io-client-swift

Other
5.21k stars 841 forks source link

Can't receive events #1446

Closed GustavoAlvarez closed 1 year ago

GustavoAlvarez commented 1 year ago

Hi, I'm trying to get an event from the server but nothing comes, the connection is successful and the socket even stays active.

This is my code:

private let manager = SocketManager(socketURL: URL(string: "https://mywebsite/tracking")!, config: [
        .path("/v2/tracking/socket.io"),
        .log(true)])

let socket = manager.defaultSocket

socket.on(clientEvent: .connect) { data, ack in
    print("-----SOCKET CONNECTED-----")
}
socket.on(clientEvent: .disconnect) { data, ack in
    print("-----SOCKET DISCONNECT-----")
}
socket.on(clientEvent: .error) { data, ack in
    print("-----SOCKET ERROR-----")    
}

socket.on("d99d58b9-a579-443e-849d-7cb04a60e2fc") { (data, ack) in
    print("socket data userid: ", data)
}
socket.on("tracking-cart") { (data, ack) in
    print("socket data cart: ", data)
}

socket.connect()

This is the log


2023-06-07 18:37:17.484120-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Adding handler for event: disconnect
2023-06-07 18:37:17.484147-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Adding handler for event: error
2023-06-07 18:37:17.484165-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Adding handler for event: d99d58b9-a579-443e-849d-7cb04a60e2fc
2023-06-07 18:37:17.484182-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Adding handler for event: tracking-cart
2023-06-07 18:37:17.484609-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2023-06-07 18:37:17.484633-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Joining namespace /
2023-06-07 18:37:17.484666-0600 AsdSocket[6465:135550] LOG SocketManager: Tried connecting socket when engine isn't open. Connecting
2023-06-07 18:37:17.484681-0600 AsdSocket[6465:135550] LOG SocketManager: Adding engine
2023-06-07 18:37:17.485101-0600 AsdSocket[6465:135929] LOG SocketEngine: Starting engine. Server: https://mywebsite.com/v2/tracking
2023-06-07 18:37:17.485137-0600 AsdSocket[6465:135929] LOG SocketEngine: Handshaking
2023-06-07 18:37:17.495382-0600 AsdSocket[6465:135929] LOG SocketEnginePolling: Doing polling GET https://mywebsite.com/v2/tracking/socket.io/?transport=polling&b64=1&EIO=4
2023-06-07 18:37:17.818123-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Got polling response
2023-06-07 18:37:17.818163-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Got poll message: 0{"sid":"7UO6n07dM044xsRmAAEk","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000,"maxPayload":1000000}
2023-06-07 18:37:17.818241-0600 AsdSocket[6465:135931] LOG SocketEngine: Got message: 0{"sid":"7UO6n07dM044xsRmAAEk","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000,"maxPayload":1000000}
2023-06-07 18:37:17.818873-0600 AsdSocket[6465:135550] LOG SocketManager: Engine opened Connect
2023-06-07 18:37:17.818916-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Doing polling GET https://mywebsite.com/v2/tracking/socket.io/?transport=polling&b64=1&EIO=4&sid=7UO6n07dM044xsRmAAEk
2023-06-07 18:37:17.819091-0600 AsdSocket[6465:135931] LOG SocketEngine: Writing poll: 0/, has data: false
2023-06-07 18:37:17.819117-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Sending poll: 0/, as type: 4
2023-06-07 18:37:17.819237-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Created POST string: 40/,
2023-06-07 18:37:17.819470-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: POSTing
2023-06-07 18:37:17.819496-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Doing polling POST https://mywebsite.com/v2/tracking/socket.io/?transport=polling&b64=1&EIO=4&sid=7UO6n07dM044xsRmAAEk
2023-06-07 18:37:17.979913-0600 AsdSocket[6465:135930] LOG SocketEnginePolling: Got polling response
2023-06-07 18:37:17.980054-0600 AsdSocket[6465:135930] LOG SocketEnginePolling: Got poll message: 40{"sid":"_ulehIIozLC0RE_WAAEl"}
2023-06-07 18:37:17.980211-0600 AsdSocket[6465:135930] LOG SocketEngine: Got message: 40{"sid":"_ulehIIozLC0RE_WAAEl"}
2023-06-07 18:37:17.980397-0600 AsdSocket[6465:135550] LOG SocketParser: Parsing 0{"sid":"_ulehIIozLC0RE_WAAEl"}
2023-06-07 18:37:17.980519-0600 AsdSocket[6465:135930] LOG SocketEnginePolling: Doing polling GET https://mywebsite.com/v2/tracking/socket.io/?transport=polling&b64=1&EIO=4&sid=7UO6n07dM044xsRmAAEk
2023-06-07 18:37:17.981464-0600 AsdSocket[6465:135550] LOG SocketParser: Decoded packet as: SocketPacket {type: 0; data: [{
    sid = "_ulehIIozLC0RE_WAAEl";
}]; id: -1; placeholders: -1; nsp: /}
2023-06-07 18:37:17.981573-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Socket connected
2023-06-07 18:37:17.981648-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Handling event: statusChange with data: [connected, 3]
2023-06-07 18:37:17.981755-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Handling event: connect with data: ["/", ["sid": _ulehIIozLC0RE_WAAEl]]
-----SOCKET CONNECTED-----
2023-06-07 18:37:18.021299-0600 AsdSocket[6465:135930] LOG SocketEngineWebSocket: Sending ws: probe as type: 2
2023-06-07 18:37:18.021358-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Handling event: websocketUpgrade with data: [["Server": "nginx/1.19.1", "Date": "Thu, 08 Jun 2023 00:37:18 GMT", "Upgrade": "websocket", "Sec-WebSocket-Accept": "Y7cM+UgVplA3s9F48ifETyaid2Q=", "Connection": "upgrade", "Strict-Transport-Security": "max-age=15724800; includeSubDomains"]]
2023-06-07 18:37:18.074821-0600 AsdSocket[6465:135931] LOG SocketEngine: Got message: 3probe
2023-06-07 18:37:18.074947-0600 AsdSocket[6465:135931] LOG SocketEngine: Received probe response, should upgrade to WebSockets
2023-06-07 18:37:18.074994-0600 AsdSocket[6465:135931] LOG SocketEngine: Upgrading transport to WebSockets
2023-06-07 18:37:18.075037-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Sending poll:  as type: 6
2023-06-07 18:37:18.075093-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: Created POST string: 6
2023-06-07 18:37:18.075271-0600 AsdSocket[6465:135931] LOG SocketEnginePolling: POSTing
2023-06-07 18:37:18.075381-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Handling event: pong with data: []
2023-06-07 18:37:18.175827-0600 AsdSocket[6465:135928] LOG SocketEnginePolling: Got polling response
2023-06-07 18:37:18.175957-0600 AsdSocket[6465:135928] LOG SocketEnginePolling: Got poll message: 6
2023-06-07 18:37:18.176056-0600 AsdSocket[6465:135928] LOG SocketEngine: Got message: 6
2023-06-07 18:37:18.176110-0600 AsdSocket[6465:135928] LOG SocketEngine: Switching to WebSockets
2023-06-07 18:37:18.176145-0600 AsdSocket[6465:135928] LOG SocketEngineWebSocket: Sending ws:  as type: 5
2023-06-07 18:37:18.176230-0600 AsdSocket[6465:135928] LOG SocketEngine: Flushing probe wait
2023-06-07 18:37:42.816150-0600 AsdSocket[6465:135928] LOG SocketEngine: Got message: 2
2023-06-07 18:37:42.816404-0600 AsdSocket[6465:135928] LOG SocketEngine: Writing ws:  has data: false
2023-06-07 18:37:42.816436-0600 AsdSocket[6465:135550] LOG SocketIOClient{/}: Handling event: ping with data: []
2023-06-07 18:37:42.816477-0600 AsdSocket[6465:135928] LOG SocketEngineWebSocket: Sending ws:  as type: 3``

Im using the lastest version: 16.0.1
wptechprodigy commented 1 year ago

I am having this same issue...

wptechprodigy commented 1 year ago

I have resolved my issue.

Here's the thing for my case: I was sending headers into the .connectParams option of the SocketIOClientOption. When I read the Options, I found .extraHeaders as part of the options.

I switched it .connectParams to .extraHeaders and boom!!!

I was sending messages and receiving messages from the webSocket.