I'm using Socket.IO-Client-Swift', '~> 13.1.0' for my app. I have successfully connected my app with Socket server but the problem is, it is getting reconnected multiple time. As a result, maybe i'm unable to emit anything to the server. Can anyone help me with this?
This is my code:
class SocketIOManager: NSObject {
var locationReceiverDelegate: LocationReceiverDelegate?
static let shared = SocketIOManager()
let manager = SocketManager(socketURL: URL(string: "server-url")!, config: [.log(true), .connectParams(["token" : "token-string"])])
var socket : SocketIOClient!
override init() {
super.init()
socket = manager.defaultSocket
self.connectSocket()
}
func connectSocket() {
socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
}
self.socket.on("connected") { ( dataArray, ack) in
print("dataArray",dataArray)
}
self.socket.on("error") { (data, ack) in
print("error-->", data)
}
self.socket.on("location::share.error") { (data, ack) in
print("location::share.error-->", data)
}
self.socket.on("location::receive") { (data, ack) in
print("location::receive-->", data[0])
}
}
func establishConnection() {
print("in connect socket")
socket.connect()
}
func disconnectSocket() {
socket.disconnect()
print("in disconnect socket")
}
func updateCurrentLocation(myLocation: CLLocation) {
print(myLocation.coordinate.latitude)
print(myLocation.coordinate.longitude)
print(myLocation.course)
let data : Dictionary<String,Any> = [
"latitude": myLocation.coordinate.latitude,
"longitude": myLocation.coordinate.latitude,
"angle": myLocation.course
]
let jsonData = try! JSONSerialization.data(withJSONObject: data)
print(jsonData)
let jsonString = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue)
print((String(describing: jsonString!)))
socket.emit("location::share", "\(String(describing: jsonString!))")
}
}
socket.emit(Your_Key, with: [Your_Data])
maybe this is how your server looking for data!! (emit array of your data). check your socket status before emitting data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With