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]"])
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!!