【问题标题】:How to use Namespace in SocketIOClient in swift如何在 Swift 中使用 SocketIOClient 中的命名空间
【发布时间】:2023-03-12 13:15:02
【问题描述】:

我正在使用最新版本的 SocketIOClient (13.1.1)。如何使用命名空间发出或监听。

【问题讨论】:

    标签: ios swift socket.io


    【解决方案1】:

    这应该足够了:

    class SocketIOManager: NSObject {
    
        static let sharedInstance = SocketIOManager()
    
        let manager = SocketManager(socketURL: URL(string: "")!, config: [.log(false), .compress, .forcePolling(false)])
    
        var avaialableCallBack:(([Any]) -> Void)?
    
        override init(){
            super.init()
        }
    
    
    
        func establishConnection() {
    
            let socket = manager.socket(forNamespace: "/consumer")
    
            socket.on("connect") { (data, ack) -> Void in
                print("socket connected",data,ack)
            }
    
            socket.on(clientEvent: .disconnect){data, ack in
                print("socket disconnected")
            }
    
            socket.on("session-available") { (dataArr, ack) -> Void in
                ack.with(true)
                if let sessionAvailableCB = self.avaialableCallBack {
                    sessionAvailableCB(dataArr)
                }
            }
    
            socket.connect()
        }
    
        func closeConnection() {
            let socket = manager.socket(forNamespace: "/consumer")
            socket.disconnect()
        }
    
        func emitMessage(message:String,data:[String:Any]){
            let socket = manager.socket(forNamespace: "/consumer")
            socket.emit(message,data)
        }
    
        func emitMessageWithAck(message:String,data:[String:Any]) -> OnAckCallback{
            let socket = manager.socket(forNamespace: "/consumer")
            return socket.emitWithAck(message, data)
        }
    
    
    
    }
    

    【讨论】:

    • 最新的SocketIO库中没有这样的方法.joinNamespace("/consumer")等请提供最新库的解决方案
    • 非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2016-01-05
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多