使用带有套接字 IO 的 iOS (Swift) 客户端加入 Laravel Echo 频道

时间:2021-03-18 08:23:32

标签: swift laravel socket.io laravel-echo socketchannel

我必须使用 iOS 客户端收听和加入 Laravel Echo 频道。 Echo 通道正在从套接字 IO 服务器广播事件。 我安装了 SocketIO pod 并且我设法监听了一些事件,但是它们在“连接时”之后由套接字服务器发送(这意味着它们不是由 Laravel Echo 通道触发) 这是我制作的助手类:

import UIKit

import SocketIO

class SocketProvider
{
private init()
{
    socket = manager.defaultSocket
}

static var shared = SocketProvider()

let manager = SocketManager(socketURL: URL(string: "http://192.168.0.14:3950")!, config: [.log(true), .compress, .reconnects(true), .reconnectAttempts(-1), .forceWebsockets(true), .forcePolling(true)])

var socket: SocketIO.SocketIOClient

func monitorIncomingEvents()
{
    socket = manager.defaultSocket
    
    socket = manager.socket(forNamespace: "/")
    
    socket.joinNamespace()
    
    socket.connect()

    socket.on(clientEvent: .connect) { (data, ack) in
        
        print("socket connected ?  and session ID is equal: ", self.socket.sid)
        
        self.socket.on("event_without_channel") { (data, ack) in
            print("This one works perfectly")
        }
    }
    
    self.socket.on("channel_name") { (data, ack) in
        print("Nopee ..")
    }
    
    self.socket.on("event_inside_channel_name") { (data, ack) in
        print("Nopee..")
    }
    
 }
}

0 个答案:

没有答案