Search code examples
swiftsocket.iosendemit

I want to write this line of code in Swift


I want to write this code I wrote in nodejs in Swift

io.sockets.in('[email protected]').emit('chat', 'Hello i am julia');

I tried this but it didn't work :

socket.emit("chat", with: ["JLA" , "[email protected]"])

Solution

  • You can use the below code in the Swift language.

    import SocketIO
    import Foundation
    
    let serverURL = "YourServerURL"
    
    class SocketOpration {
    
        static let shared = SocketOpration(socketURL: URL(string: serverURL)!)
    
        let socketURL: URL
        var socket:SocketIOClient!
        var manager:SocketManager!
    
    
       init(socketURL: URL) {
            self.socketURL = socketURL
            self.manager = SocketManager(socketURL: self.socketURL, config: [.log(false)])
            self.socket = self.manager.defaultSocket
       }
    
        func setup() {
    
              socket.on(clientEvent: .connect) {[weak self] data, ack in
                  print("socket connected")
              }
    
              socket.on(clientEvent: .disconnect) {[weak self] data, ack in
                print("socket disconnected")
              }
    
    
            // Get emit Call via On method ( emit will fire from Node )
    
             socket.on("chat") { [weak self](data, ack) in
                if data.count > 0 {
                }
             }
    
        }
    
         func chatEmail(senderName: String, email: String) {
    
            socket.emit("chat", with: [senderName , email]])
    
        }
    
    }
    

    Use:-

    SocketOpration.shared.chatEmail(senderName: "JLA", email: "[email protected]")
    

    Cheers!!