This project is a simple STOMP client in Swift, and we use Starscream as a websocket dependency.
First thing is to import the Starscream and StompClient frameworks.
Once imported, you're able to connect to the server. Note that client
is probably best as a property, so it doesn't get deallocated right after being setup.
let url = server_url
client = StompClient(url: url)
client.delegate = self
client.connect()
After you are connected, there are some delegate methods that you need to implement.
stompClientDidConnected(client: StompClient)
is called when the client connects to the server.
stompClient(client: StompClient, didErrorOccurred error: NSError)
is called when error occurs.
stompClient(client: StompClient, didReceivedData data: NSData, fromDestination destination: String)
is called when the client receive a message from a subscription destination.
You can use subscribe(destination: String, parameters: [String : String]?)
method to subscribe a topic, and this method will return a destination id string.
Please pass this string to the second argument when invoking unsubscribe(destination: String, destinationId: String)
Add the following line into your Package.swift
,
.package("https://github.com/The-Warehouse-Group/StompClient.git", from: "0.0.0")
, and then run swift package update
in your terminal.