Socket.IO:Swift客户端连接到Node.js服务器,但服务器赢了';t寄存器连接?

Socket.IO:Swift客户端连接到Node.js服务器,但服务器赢了';t寄存器连接?,node.js,swift,sockets,socket.io,serversocket,Node.js,Swift,Sockets,Socket.io,Serversocket,所以我遇到了一个问题,我的Swift/Xcode文件告诉我已经连接到服务器,而我的节点文件没有告诉我终端中的“用户已连接”,这有点像是一个重新发布,但我没有很好地阐述原始问题,所以没有得到回复 我的节点文件如下所示: const express = require('express'); const app = express(); const http = require('http').Server(app); const io = require('socket.io')(http); c

所以我遇到了一个问题,我的Swift/Xcode文件告诉我已经连接到服务器,而我的节点文件没有告诉我终端中的“用户已连接”,这有点像是一个重新发布,但我没有很好地阐述原始问题,所以没有得到回复

我的节点文件如下所示:

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));
class PDSocketManager: NSObject {

class var shared: PDSocketManager {
    struct Static{
        static let instance = PDSocketManager()
    }
    return Static.instance
}

var socket: SocketIOClient?
fileprivate var manager: SocketManager?

fileprivate override init(){}

func establishConnection(_ completion: (() -> Void)? = nil) {
    let socketUrlString: String = "http://ip-address:3000"
    self.manager = SocketManager(socketURL: URL(string: socketUrlString)!, config: [.log(true), .reconnects(true), .extraHeaders(["header": "customheader"])])
    self.socket = manager?.defaultSocket
    self.socket?.connect()

    self.socket?.once(clientEvent: .connect, callback: { (data, emitter) in
        print("\n\n\n connection done!! \n\n\n")
        if completion != nil{
            completion!()
        }
    })
}

func connect()  {
    socket?.connect()
    print("socket connect")
}

func disconnect()  {
    socket?.disconnect()
}

func checkSocktConnect() -> Bool {
    if let myManager = self.manager{
        if myManager.status == SocketIOStatus.connected{
          return true
        } else {
            self.socket?.connect()
            return false
        }
    } else{
        return false
    }
    } }
我的雨燕看起来像:

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));
class PDSocketManager: NSObject {

class var shared: PDSocketManager {
    struct Static{
        static let instance = PDSocketManager()
    }
    return Static.instance
}

var socket: SocketIOClient?
fileprivate var manager: SocketManager?

fileprivate override init(){}

func establishConnection(_ completion: (() -> Void)? = nil) {
    let socketUrlString: String = "http://ip-address:3000"
    self.manager = SocketManager(socketURL: URL(string: socketUrlString)!, config: [.log(true), .reconnects(true), .extraHeaders(["header": "customheader"])])
    self.socket = manager?.defaultSocket
    self.socket?.connect()

    self.socket?.once(clientEvent: .connect, callback: { (data, emitter) in
        print("\n\n\n connection done!! \n\n\n")
        if completion != nil{
            completion!()
        }
    })
}

func connect()  {
    socket?.connect()
    print("socket connect")
}

func disconnect()  {
    socket?.disconnect()
}

func checkSocktConnect() -> Bool {
    if let myManager = self.manager{
        if myManager.status == SocketIOStatus.connected{
          return true
        } else {
            self.socket?.connect()
            return false
        }
    } else{
        return false
    }
    } }
这是XCode日志输出:

2021-03-02 08:47:41.669119-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-03-02 08:47:41.669315-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Joining namespace /
2021-03-02 08:47:41.669392-0500 sockettest[992:1229560] LOG SocketManager: Tried connecting socket when engine isn't open. Connecting
2021-03-02 08:47:41.669435-0500 sockettest[992:1229560] LOG SocketManager: Adding engine
2021-03-02 08:47:41.672334-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Adding once handler for event: connect
2021-03-02 08:47:41.672357-0500 sockettest[992:1229845] LOG SocketEngine: Starting engine. Server: http://ip-address:3000/
2021-03-02 08:47:41.672444-0500 sockettest[992:1229845] LOG SocketEngine: Handshaking
2021-03-02 08:47:41.697783-0500 sockettest[992:1229845] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1
2021-03-02 08:47:41.877242-0500 sockettest[992:1229843] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:41.877321-0500 sockettest[992:1229843] LOG SocketEnginePolling: Got poll message: 0{"sid":"jNuRNaYlTU1zFzXAAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:41.879715-0500 sockettest[992:1229843] LOG SocketEngine: Got message: 0{"sid":"jNuRNaYlTU1zFzXAAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:41.886369-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: ping with data: []
2021-03-02 08:47:41.886399-0500 sockettest[992:1229843] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=jNuRNaYlTU1zFzXAAAAA
2021-03-02 08:47:41.886459-0500 sockettest[992:1229560] LOG SocketManager: Engine opened Connect
2021-03-02 08:47:41.886712-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Socket connected
2021-03-02 08:47:41.886870-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connected, 3]
2021-03-02 08:47:41.887384-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: connect with data: ["/"]
2021-03-02 08:47:41.888137-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Removing handler with id: 05D5AFD6-5108-4EBB-A774-FB350D145FDA
2021-03-02 08:47:41.888195-0500 sockettest[992:1229843] LOG SocketEngine: Writing poll:  has data: false



 connection done!! 



2021-03-02 08:47:41.888598-0500 sockettest[992:1229843] LOG SocketEnginePolling: Sending poll:  as type: 2
2021-03-02 08:47:41.888905-0500 sockettest[992:1229843] LOG SocketEnginePolling: Created POST string: 1:2
2021-03-02 08:47:41.889085-0500 sockettest[992:1229843] LOG SocketEnginePolling: POSTing
2021-03-02 08:47:41.889134-0500 sockettest[992:1229843] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=jNuRNaYlTU1zFzXAAAAA
2021-03-02 08:47:41.900166-0500 sockettest[992:1229845] LOG SocketEngineWebSocket: Sending ws: probe as type: 2
2021-03-02 08:47:41.900316-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: websocketUpgrade with data: [["sec-websocket-accept": "3ydGn/18kSKfrJyp/ElciaZtQPI=", "upgrade": "websocket", "connection": "Upgrade"]]
2021-03-02 08:47:41.905261-0500 sockettest[992:1229840] LOG SocketEngine: Flushing probe wait
2021-03-02 08:47:41.906380-0500 sockettest[992:1229847] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:41.906615-0500 sockettest[992:1229847] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=jNuRNaYlTU1zFzXAAAAA
2021-03-02 08:47:41.914247-0500 sockettest[992:1229845] ERROR SocketEnginePolling: Error during long poll request
2021-03-02 08:47:41.914306-0500 sockettest[992:1229845] ERROR SocketEngine: Error
2021-03-02 08:47:41.914378-0500 sockettest[992:1229560] ERROR SocketManager: Error
2021-03-02 08:47:41.914382-0500 sockettest[992:1229845] LOG SocketEngine: Engine is being closed.
2021-03-02 08:47:41.914430-0500 sockettest[992:1229845] LOG SocketEnginePolling: Created POST string: 1:1
2021-03-02 08:47:41.914436-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: error with data: ["Error"]
2021-03-02 08:47:41.914626-0500 sockettest[992:1229845] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=jNuRNaYlTU1zFzXAAAAA
2021-03-02 08:47:41.915164-0500 sockettest[992:1229560] LOG SocketManager: Starting reconnect
2021-03-02 08:47:41.915268-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-03-02 08:47:41.915373-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: reconnect with data: ["Error"]
2021-03-02 08:47:41.915468-0500 sockettest[992:1229560] LOG SocketManager: Trying to reconnect
2021-03-02 08:47:41.915559-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: reconnectAttempt with data: [-1]
2021-03-02 08:47:41.915747-0500 sockettest[992:1229844] LOG SocketEngine: Starting engine. Server: http://ip-address:3000/
2021-03-02 08:47:41.915920-0500 sockettest[992:1229844] LOG SocketEngine: Handshaking
2021-03-02 08:47:41.916043-0500 sockettest[992:1229844] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1
2021-03-02 08:47:41.916365-0500 sockettest[992:1229560] LOG SocketManager: Scheduling reconnect in 22.380244474166073s
2021-03-02 08:47:41.931050-0500 sockettest[992:1229845] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:41.931126-0500 sockettest[992:1229845] LOG SocketEnginePolling: Got poll message: 0{"sid":"GncBvYHRVuwBwT4qAAAB","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:41.931198-0500 sockettest[992:1229845] LOG SocketEngine: Got message: 0{"sid":"GncBvYHRVuwBwT4qAAAB","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:41.932181-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: ping with data: []
2021-03-02 08:47:41.932231-0500 sockettest[992:1229845] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=GncBvYHRVuwBwT4qAAAB
2021-03-02 08:47:41.932235-0500 sockettest[992:1229560] LOG SocketManager: Engine opened Connect
2021-03-02 08:47:41.932271-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Socket connected
2021-03-02 08:47:41.932314-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connected, 3]
2021-03-02 08:47:41.932393-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: connect with data: ["/"]
2021-03-02 08:47:41.932697-0500 sockettest[992:1229845] LOG SocketEngine: Writing poll:  has data: false
2021-03-02 08:47:41.932972-0500 sockettest[992:1229845] LOG SocketEnginePolling: Sending poll:  as type: 2
2021-03-02 08:47:41.933028-0500 sockettest[992:1229845] LOG SocketEnginePolling: Created POST string: 1:2
2021-03-02 08:47:41.933490-0500 sockettest[992:1229845] LOG SocketEnginePolling: POSTing
2021-03-02 08:47:41.933547-0500 sockettest[992:1229845] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=GncBvYHRVuwBwT4qAAAB
2021-03-02 08:47:41.942594-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: websocketUpgrade with data: [["connection": "Upgrade", "upgrade": "websocket", "sec-websocket-accept": "pa1QhnQkCVWnN+kL1zMm+z0mEX4="]]
2021-03-02 08:47:41.942612-0500 sockettest[992:1229844] LOG SocketEngineWebSocket: Sending ws: probe as type: 2
2021-03-02 08:47:41.944832-0500 sockettest[992:1229840] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:41.945680-0500 sockettest[992:1229840] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=GncBvYHRVuwBwT4qAAAB
2021-03-02 08:47:41.946001-0500 sockettest[992:1229840] LOG SocketEngine: Flushing probe wait
2021-03-02 08:47:41.951337-0500 sockettest[992:1229845] ERROR SocketEnginePolling: Error during long poll request
2021-03-02 08:47:41.951418-0500 sockettest[992:1229845] ERROR SocketEngine: Error
2021-03-02 08:47:41.951495-0500 sockettest[992:1229560] ERROR SocketManager: Error
2021-03-02 08:47:41.951551-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: error with data: ["Error"]
2021-03-02 08:47:41.951683-0500 sockettest[992:1229845] LOG SocketEngine: Engine is being closed.
2021-03-02 08:47:41.951744-0500 sockettest[992:1229845] LOG SocketEnginePolling: Created POST string: 1:1
2021-03-02 08:47:41.952027-0500 sockettest[992:1229845] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=GncBvYHRVuwBwT4qAAAB
2021-03-02 08:47:41.952431-0500 sockettest[992:1229560] LOG SocketManager: Starting reconnect
2021-03-02 08:47:41.952545-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-03-02 08:47:41.952657-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: reconnect with data: ["Error"]
2021-03-02 08:47:41.952759-0500 sockettest[992:1229560] LOG SocketManager: Trying to reconnect
2021-03-02 08:47:41.952856-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: reconnectAttempt with data: [-1]
2021-03-02 08:47:41.952988-0500 sockettest[992:1229560] LOG SocketManager: Scheduling reconnect in 17.378798001778488s
2021-03-02 08:47:41.953118-0500 sockettest[992:1229845] LOG SocketEngine: Starting engine. Server: http://ip-address:3000/
2021-03-02 08:47:41.953264-0500 sockettest[992:1229845] LOG SocketEngine: Handshaking
2021-03-02 08:47:41.953632-0500 sockettest[992:1229845] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1
2021-03-02 08:47:41.967543-0500 sockettest[992:1229843] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:41.967609-0500 sockettest[992:1229843] LOG SocketEnginePolling: Got poll message: 0{"sid":"dGUd1NjkROAspt3hAAAC","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:41.967688-0500 sockettest[992:1229843] LOG SocketEngine: Got message: 0{"sid":"dGUd1NjkROAspt3hAAAC","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:41.968632-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: ping with data: []
2021-03-02 08:47:41.968803-0500 sockettest[992:1229560] LOG SocketManager: Engine opened Connect
2021-03-02 08:47:41.968840-0500 sockettest[992:1229843] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=dGUd1NjkROAspt3hAAAC
2021-03-02 08:47:41.968850-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Socket connected
2021-03-02 08:47:41.968952-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connected, 3]
2021-03-02 08:47:41.969027-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: connect with data: ["/"]
2021-03-02 08:47:41.969291-0500 sockettest[992:1229843] LOG SocketEngine: Writing poll:  has data: false
2021-03-02 08:47:41.969328-0500 sockettest[992:1229843] LOG SocketEnginePolling: Sending poll:  as type: 2
2021-03-02 08:47:41.969369-0500 sockettest[992:1229843] LOG SocketEnginePolling: Created POST string: 1:2
2021-03-02 08:47:41.970487-0500 sockettest[992:1229843] LOG SocketEnginePolling: POSTing
2021-03-02 08:47:41.970545-0500 sockettest[992:1229843] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=dGUd1NjkROAspt3hAAAC
2021-03-02 08:47:41.979132-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: websocketUpgrade with data: [["connection": "Upgrade", "upgrade": "websocket", "sec-websocket-accept": "qXRyRflDO2o0fPGslzplhreoK+8="]]
2021-03-02 08:47:41.979201-0500 sockettest[992:1229844] LOG SocketEngineWebSocket: Sending ws: probe as type: 2
2021-03-02 08:47:41.983692-0500 sockettest[992:1229845] LOG SocketEngine: Got message: 3probe
2021-03-02 08:47:41.983814-0500 sockettest[992:1229845] LOG SocketEngine: Received probe response, should upgrade to WebSockets
2021-03-02 08:47:41.983862-0500 sockettest[992:1229845] LOG SocketEngine: Upgrading transport to WebSockets
2021-03-02 08:47:41.983904-0500 sockettest[992:1229845] LOG SocketEnginePolling: Sending poll:  as type: 6
2021-03-02 08:47:41.984048-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: pong with data: []
2021-03-02 08:47:41.985388-0500 sockettest[992:1229840] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:41.985457-0500 sockettest[992:1229840] LOG SocketEngine: Switching to WebSockets
2021-03-02 08:47:41.985503-0500 sockettest[992:1229840] LOG SocketEngineWebSocket: Sending ws:  as type: 5
2021-03-02 08:47:41.985545-0500 sockettest[992:1229840] LOG SocketEngine: Flushing probe wait
2021-03-02 08:47:41.986551-0500 sockettest[992:1229840] ERROR SocketEngine: connection closed by server. code=1000, type=protocolError
2021-03-02 08:47:41.986866-0500 sockettest[992:1229560] ERROR SocketManager: connection closed by server. code=1000, type=protocolError
2021-03-02 08:47:41.987293-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: error with data: ["connection closed by server. code=1000, type=protocolError"]
2021-03-02 08:47:41.987443-0500 sockettest[992:1229560] LOG SocketManager: Starting reconnect
2021-03-02 08:47:41.987494-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-03-02 08:47:41.987556-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: reconnect with data: ["connection closed by server. code=1000, type=protocolError"]
2021-03-02 08:47:41.987605-0500 sockettest[992:1229560] LOG SocketManager: Trying to reconnect
2021-03-02 08:47:41.987676-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: reconnectAttempt with data: [-1]
2021-03-02 08:47:41.987783-0500 sockettest[992:1229560] LOG SocketManager: Scheduling reconnect in 21.743261523169984s
2021-03-02 08:47:41.987783-0500 sockettest[992:1229850] LOG SocketEngine: Starting engine. Server: http://ip-address:3000/
2021-03-02 08:47:41.988147-0500 sockettest[992:1229850] LOG SocketEngine: Handshaking
2021-03-02 08:47:41.988303-0500 sockettest[992:1229850] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1
2021-03-02 08:47:42.005212-0500 sockettest[992:1229843] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:42.005291-0500 sockettest[992:1229843] LOG SocketEnginePolling: Got poll message: 0{"sid":"S0NLdRPF5uCHUoKaAAAD","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:42.005704-0500 sockettest[992:1229843] LOG SocketEngine: Got message: 0{"sid":"S0NLdRPF5uCHUoKaAAAD","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
2021-03-02 08:47:42.006542-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: ping with data: []
2021-03-02 08:47:42.006648-0500 sockettest[992:1229560] LOG SocketManager: Engine opened Connect
2021-03-02 08:47:42.006989-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Socket connected
2021-03-02 08:47:42.007041-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: statusChange with data: [connected, 3]
2021-03-02 08:47:42.007084-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: connect with data: ["/"]
2021-03-02 08:47:42.007179-0500 sockettest[992:1229843] LOG SocketEnginePolling: Doing polling GET http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=S0NLdRPF5uCHUoKaAAAD
2021-03-02 08:47:42.009173-0500 sockettest[992:1229843] LOG SocketEngine: Writing poll:  has data: false
2021-03-02 08:47:42.009252-0500 sockettest[992:1229843] LOG SocketEnginePolling: Sending poll:  as type: 2
2021-03-02 08:47:42.009302-0500 sockettest[992:1229843] LOG SocketEnginePolling: Created POST string: 1:2
2021-03-02 08:47:42.009431-0500 sockettest[992:1229843] LOG SocketEnginePolling: POSTing
2021-03-02 08:47:42.009690-0500 sockettest[992:1229843] LOG SocketEnginePolling: Doing polling POST http://ip-address:3000/socket.io/?transport=polling&b64=1&sid=S0NLdRPF5uCHUoKaAAAD
2021-03-02 08:47:42.021928-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: websocketUpgrade with data: [["upgrade": "websocket", "sec-websocket-accept": "/i3oWtmlG0z06qeeQyi4FPgnkvI=", "connection": "Upgrade"]]
2021-03-02 08:47:42.022166-0500 sockettest[992:1229850] LOG SocketEngineWebSocket: Sending ws: probe as type: 2
2021-03-02 08:47:42.026699-0500 sockettest[992:1229845] LOG SocketEngine: Got message: 3probe
2021-03-02 08:47:42.026815-0500 sockettest[992:1229845] LOG SocketEngine: Received probe response, should upgrade to WebSockets
2021-03-02 08:47:42.026860-0500 sockettest[992:1229845] LOG SocketEngine: Upgrading transport to WebSockets
2021-03-02 08:47:42.026905-0500 sockettest[992:1229845] LOG SocketEnginePolling: Sending poll:  as type: 6
2021-03-02 08:47:42.026992-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: pong with data: []
2021-03-02 08:47:42.029955-0500 sockettest[992:1229850] LOG SocketEngine: Flushing probe wait
2021-03-02 08:47:42.031221-0500 sockettest[992:1229845] LOG SocketEnginePolling: Got polling response
2021-03-02 08:47:42.031283-0500 sockettest[992:1229845] LOG SocketEngine: Switching to WebSockets
2021-03-02 08:47:42.031324-0500 sockettest[992:1229845] LOG SocketEngineWebSocket: Sending ws:  as type: 5
2021-03-02 08:47:42.031366-0500 sockettest[992:1229845] LOG SocketEngine: Flushing probe wait
2021-03-02 08:48:09.377870-0500 sockettest[992:1229843] LOG SocketEngine: Writing ws:  has data: false
2021-03-02 08:48:09.377870-0500 sockettest[992:1229560] LOG SocketIOClient{/}: Handling event: ping with data: []
2021-03-02 08:48:09.378081-0500 sockettest[992:1229843] LOG SocketEngineWebSocket: Sending ws:  as type: 2

您必须在Xcode中删除此项:

.version(.two)
安装SocketManager时。然后它就会起作用

我假设由于服务器上的Socket.io版本,它无法工作。我认为您在服务器端使用版本3,在客户端使用版本2(默认为版本3),所以它不会一起通信

您必须更新播客,如:

pod 'Socket.IO-Client-Swift'

然后pod安装

我删除了它,仍然是完全相同的错误。我会更新问题中的代码,因为我几天前更改了它,但忘了在这里更改代码。这很奇怪。我试过了,效果很好。您是否使用计算机的ip地址?是的,我正在使用计算机模拟终端上的服务器,将Xcode项目上载到我的iPhone,并在按下按钮时运行establishConnection()函数。我也可以和你聊天/聊天,以便更好地解释和发送所有事情的截图是的,请给我一个解决问题的机会。请不要通过破坏你的帖子为其他人做更多的工作。通过在Stack Exchange网络上发布,您已授予Stack Exchange在下不可撤销的权利,以分发该内容(即,无论您未来的选择如何)。根据堆栈交换策略,帖子的非破坏版本是分发的版本。因此,任何故意破坏行为都将恢复原状。如果您想了解有关删除帖子的更多信息,请参阅: