ios - 如何在 SocketIOClient 中快速使用命名空间

标签 ios swift socket.io

我正在使用最新版本的 SocketIOClient (13.1.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)
    }



}

关于ios - 如何在 SocketIOClient 中快速使用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49512478/

相关文章:

swift - Swift、自动布局和堆栈 View 的问题

javascript - NodeJS - socket.on 似乎没有被调用

ios - 如何在 UIScrollView 中处理 UIScrollView

ios - Apple Mach-O Linker (ld) Error Group with Swift 3 & Xcode 9 GM

php - 警告 : stream_socket_client( ) , php_network_getaddresses getaddrinfo failed nodename nor serv name provided or notknown

ios - 核心数据 : Segue to detail controller with newly created ManagedObject

ios - UIAccessibilityElement `accessibilityCustomActions` 无法正常工作

node.js - Socket.IO 客户端安全

node.js - 安装任何 NPM 模块时出现 NPM 错误

ios - 重新加载 UIView 和 UILabel 框架