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 Cartfile,
github "ShengHuaWu/StompClient"
, and then run carthage update --platform ios
in your terminal.
Create a Podfile as following,
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'MyApp' do
pod 'StompClient', '~> 0.2.6'
end
, and then run pod install
in your terminal.