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