Tuesday, 2 March 2021

Socket.IO using Node.js and Swift returns 'nw_protocol_get_quic_image_block_invoke dlopen libquic failed'

When I try running SocketTutorialManager.init() when a button is pressed, the different functions in the initializers should run, but they don't and I instead get the following printed to the Xcode console:

'sockettest[70290:1461156] [] nw_protocol_get_quic_image_block_invoke dlopen libquic failed'

I have an app.js file on my desktop that looks like:

const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
const port = process.env.PORT || 3000;

app.use(express.static(__dirname + '/public'));

function onConnection(socket){
  console.log('a user connected');
  socket.on('disconnect', onDisconnection);
}

function onDisconnection(socket){
  console.log('a user disconnected');
}

io.on('connection', onConnection);

http.listen(port, () => console.log('listening on port ' + port));

My Swift looks like:

protocol SocketPositionManagerDelegate: class {
    func didConnect()
    func didReceive(position: SocketPosition)
}

class SocketTutorialManager {

    static let shared = SocketTutorialManager()
    // MARK: - Delegate
    weak var delegate: SocketPositionManagerDelegate?

    // MARK: - Properties
    let manager = SocketManager(socketURL: URL(string: "http://ip-address:3000")!, config: [.log(false), .compress])

    var socket: SocketIOClient? = nil

    // MARK: - Life Cycle
    init() {
        setupSocket()
        setupSocketEvents()
        socket?.connect()
    }

    func stop() {
        socket?.removeAllHandlers()
    }

    // MARK: - Socket Setups
    func setupSocket() {
        self.socket = manager.defaultSocket
    }


    func setupSocketEvents() {
        socket?.on(clientEvent: .connect) {data, ack in
            self.delegate?.didConnect()
        }
    }
}

UPDATE:

This is the Xcode output when logging the socket with Parth's solution:

2021-03-01 08:29:37.727907-0500 sockettest[671:498644] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-03-01 08:29:37.728753-0500 sockettest[671:498644] LOG SocketIOClient{/}: Joining namespace /
2021-03-01 08:29:37.729041-0500 sockettest[671:498644] LOG SocketManager: Tried connecting socket when engine isn't open. Connecting
2021-03-01 08:29:37.729272-0500 sockettest[671:498644] LOG SocketManager: Adding engine
2021-03-01 08:29:37.731155-0500 sockettest[671:498644] LOG SocketIOClient{/}: Adding once handler for event: connect
2021-03-01 08:29:37.731209-0500 sockettest[671:498681] LOG SocketEngine: Starting engine. Server: http://ip-address:3000
2021-03-01 08:29:37.731373-0500 sockettest[671:498681] LOG SocketEngine: Handshaking
2021-03-01 08:29:37.776536-0500 sockettest[671:498681] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1
2021-03-01 08:29:38.014469-0500 sockettest[671:498681] LOG SocketEnginePolling: Got polling response
2021-03-01 08:29:38.014694-0500 sockettest[671:498681] LOG SocketEnginePolling: Got poll message: 0{"sid":"EpDFCwQC6KSUdOFVAAAj","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-01 08:29:38.016425-0500 sockettest[671:498681] LOG SocketEngine: Got message: 0{"sid":"EpDFCwQC6KSUdOFVAAAj","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-01 08:29:38.028718-0500 sockettest[671:498644] LOG SocketIOClient{/}: Handling event: ping with data: []
2021-03-01 08:29:38.029428-0500 sockettest[671:498644] LOG SocketManager: Engine opened Connect
2021-03-01 08:29:38.029842-0500 sockettest[671:498644] LOG SocketIOClient{/}: Socket connected
2021-03-01 08:29:38.029885-0500 sockettest[671:498681] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=EpDFCwQC6KSUdOFVAAAj
2021-03-01 08:29:38.030229-0500 sockettest[671:498644] LOG SocketIOClient{/}: Handling event: statusChange with data: [connected, 3]
2021-03-01 08:29:38.030733-0500 sockettest[671:498644] LOG SocketIOClient{/}: Handling event: connect with data: ["/"]
2021-03-01 08:29:38.030948-0500 sockettest[671:498644] LOG SocketIOClient{/}: Removing handler with id: 381FEC03-C449-4B91-B1D0-0B43E8068769



 connection done!! 



2021-03-01 08:29:38.032539-0500 sockettest[671:498681] LOG SocketEngine: Writing poll:  has data: false
2021-03-01 08:29:38.032653-0500 sockettest[671:498681] LOG SocketEnginePolling: Sending poll:  as type: 2
2021-03-01 08:29:38.033222-0500 sockettest[671:498681] LOG SocketEnginePolling: Created POST string: 1:2
2021-03-01 08:29:38.033604-0500 sockettest[671:498681] LOG SocketEnginePolling: POSTing
2021-03-01 08:29:38.033964-0500 sockettest[671:498681] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=EpDFCwQC6KSUdOFVAAAj
2021-03-01 08:29:38.045549-0500 sockettest[671:498644] LOG SocketIOClient{/}: Handling event: websocketUpgrade with data: [["upgrade": "websocket", "sec-websocket-accept": "APGPnV5PFd3gt8zpWPerlJMC7ww=", "connection": "Upgrade"]]
2021-03-01 08:29:38.045726-0500 sockettest[671:498684] LOG SocketEngineWebSocket: Sending ws: probe as type: 2
2021-03-01 08:29:38.051512-0500 sockettest[671:498689] LOG SocketEngine: Got message: 3probe
2021-03-01 08:29:38.051700-0500 sockettest[671:498689] LOG SocketEngine: Received probe response, should upgrade to WebSockets
2021-03-01 08:29:38.051774-0500 sockettest[671:498689] LOG SocketEngine: Upgrading transport to WebSockets
2021-03-01 08:29:38.051833-0500 sockettest[671:498689] LOG SocketEnginePolling: Sending poll:  as type: 6
2021-03-01 08:29:38.052169-0500 sockettest[671:498644] LOG SocketIOClient{/}: Handling event: pong with data: []
2021-03-01 08:29:38.055701-0500 sockettest[671:498686] LOG SocketEngine: Flushing probe wait
2021-03-01 08:29:38.058259-0500 sockettest[671:498681] LOG SocketEnginePolling: Got polling response
2021-03-01 08:29:38.058364-0500 sockettest[671:498681] LOG SocketEngine: Switching to WebSockets
2021-03-01 08:29:38.058425-0500 sockettest[671:498681] LOG SocketEngineWebSocket: Sending ws:  as type: 5
2021-03-01 08:29:38.058490-0500 sockettest[671:498681] LOG SocketEngine: Flushing probe wait


from Socket.IO using Node.js and Swift returns 'nw_protocol_get_quic_image_block_invoke dlopen libquic failed'

No comments:

Post a Comment