I took this piece of code from an example of creating a WebSocket connection with the Starscream library based on UIKit. How can I make it work in my SwiftUI project?
class ViewController: UIViewController, WebSocketDelegate {
var socket: WebSocket!
var isConnected: Bool = false
let server = WebSocketServer()
var token: String = ""
override func viewDidLoad() {
super.viewDidLoad()
var request = URLRequest(url: URL(string: "wss://-----")!)
request.timeoutInterval = 5
request.setValue("https://-----", forHTTPHeaderField: "Origin")
socket = WebSocket(request: request)
socket.delegate = self
socket.connect()
}
func didReceive(event: WebSocketEvent, client: WebSocket) {
switch event {
case .connected(let headers):
isConnected = true
print("websocket is connected: (headers)")
case .disconnected(let reason, let code):
isConnected = false
print("websocket is disconnected: (reason) with code: (code)")
case .text(let string):
if string.contains("token expiring") { print("expiring"); socket.disconnect() }
print("Received text: (string)")
case .binary(let data):
print("Received data: (data.count)")
case .ping(_):
break
case .pong(_):
break
case .viabilityChanged(_):
break
case .reconnectSuggested(_):
break
case .cancelled:
isConnected = false
case .error(let error):
isConnected = false
handleError(error)
}
}
func handleError(_ error: Error?) {
if let e = error as? WSError {
print("websocket encountered an error: (e.message)")
} else if let e = error {
print("websocket encountered an error: (e.localizedDescription)")
} else {
print("websocket encountered an error")
}
}
@IBAction func Stop(_ sender: Any) {
if isConnected { socket.disconnect() } else { socket.connect() }
}
}
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Here is my json file and I don't know at all how to print cpu_absolute or assign this value to a variable for example, I tried all crazy Codable things, but still nothing works. Help please
attributes = {
"current_state" = running;
"is_suspended" = 0;
resources = {
"cpu_absolute" = "24.057";
"disk_bytes" = 1330569622;
"memory_bytes" = 2770235392;
"network_rx_bytes" = 1984559;
"network_tx_bytes" = 1541909;
uptime = 2224084;
};
};
object = stats;
}