Skip to content

dough-com/StompKit

 
 

Repository files navigation

StompKit

Build Status

STOMP Objective-C Client for iOS

StompKit is a rewrite of objc-stomp to create a modern event-driven Objective-C library using ARC, Grand Central Dispatch and blocks.

This library uses the Grand Central Dispatch version of CocoaAsyncSocket.

Installation

Manual Installation

Add GCDAsynSocket.{h,m} and StompKit.{h,m} to your project.

Using CocoaPods

On your Podfile add this project:

...
pod 'StompKit', :git => 'https://github.com/mobile-web-messaging/StompKit.git'
...

For the first time, run pod install, if you are updating the project invoke pod update.

Usage

Import the StompKit.h header file

#import "StompKit.h"

Send a message:

// create the client
STOMPClient *client = [[STOMPClient alloc] initWithHost:@"localhost"
                                                   port:61613];
// connect to the broker
[client connectWithLogin:@"mylogin"
                passcode:@"mypassword"
       completionHandler:^(STOMPFrame *_, NSError *error) {
            if (err) {
                NSLog(@"%@", error);
                return;
            }

            // send a message
            [client sendTo:@"/queue/myqueue" body:@"Hello, iOS!"];
            // and disconnect
            [client disconnect];
        }];

Subscribe to receive message:

// create the client
STOMPClient *client = [[STOMPClient alloc] initWithHost:@"localhost"
                                                   port:61613];
// connect to the broker
[client connectWithLogin:@"mylogin"
                passcode:@"mypassword"
       completionHandler:^(STOMPFrame *_, NSError *error) {
            if (err) {
                NSLog(@"%@", error);
                return;
            }

            // subscribe to the destination
            [client subscribeTo:@"/queue/myqueue"
                        headers:@{@"selector": @"color = 'red'"}
                 messageHandler:^(STOMPMessage *message) {
                    // callback when the client receive a message
                    // for the /queue/myqueue destination

                    NSLog(@"got message %@", message.body); // => "Hello, iOS"
                }];
            }];

Authors

About

STOMP Objective-C Client for iOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 97.9%
  • Ruby 2.1%