在Swift应用程序上重新启动节点服务器后,Socket.IO不会重新连接

时间:2018-03-10 02:22:01

标签: swift socket.io

我最近更新了一段时间前我正在为最新版本的Socket.IO工作的项目。它在早期版本中运行良好,但我现在遇到的问题是客户端在重新启动服务器后没有重新连接。

我最初使用类似于此的设置,我希望保留:

https://www.appcoda.com/socket-io-chat-app/

使用下面的“新配置”代码,应用程序在启动时成功连接到服务器,但在重新启动服务器时不会重新连接。发生这种情况时,on.disconnect不会被调用,socket.status会显示.connecting状态,但永远无法解决。

当我添加新的套接字文件时,我实际创建了一个全新的项目,旧的项目仍然可以正常工作,而新项目则没有。

我添加了我认为应该有效的配置选项。还有其他想法吗?

新配置:

let manager = SocketManager(socketURL: URL(string: socketURL)!, config: [.reconnects(true), .forceNew(true)])

class SocketIOManager {

    static let sharedInstance = SocketIOManager()

    var socket: SocketIOClient = manager.defaultSocket
    init() {

        socket.on("connect") {data, ack in
            print("connected")
        }

        socket.on("disconnect") {data, ack in
            print("disconnected")
        }
    }
}

旧配置:

class SocketIOManager {

    static let sharedInstance = SocketIOManager()

    var socket: SocketIOClient = SocketIOClient(socketURL: socketURL)!)


    init() {

        socket.on("connect") {data, ack in
            print("connected")
        }

        socket.on("disconnect") {data, ack in
            print("disconnected")
        }
    }
}

0 个答案:

没有答案