STOMP Objective-C client
Objective-C Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
AsyncSocket.h
AsyncSocket.m
CRVStompClient.h
CRVStompClient.m
LICENSE
README.md
Rakefile

README.md

STOMP client for Objective-C

This is a simple STOMP client based on

Usage

Add AsynSocket.{h,m} and CRVStompClient.{h,m} to your project.

MyExample.h

#import <Foundation/Foundation.h>

@class CRVStompClient;
@protocol CRVStompClientDelegate;


@interface MyExample : NSObject<CRVStompClientDelegate> {
    @private
    CRVStompClient *service;
}
@property(nonatomic, retain) CRVStompClient *service;

@end

In MyExample.m

#define kUsername   @"USERNAME"
#define kPassword   @"PASS"
#define kQueueName  @"/topic/systemMessagesTopic"

[...]

-(void) aMethod {
    CRVStompClient *s = [[CRVStompClient alloc] 
            initWithHost:@"localhost" 
                    port:61613 
                    login:kUsername
                passcode:kQueueName
                delegate:self];
    [s connect];


    NSDictionary *headers = [NSDictionary dictionaryWithObjectsAndKeys:     
            @"client", @"ack", 
            @"true", @"activemq.dispatchAsync",
            @"1", @"activemq.prefetchSize", nil];
    [s subscribeToDestination:kQueueName withHeader: headers];

    [self setService: s];
    [s release];
}

#pragma mark CRVStompClientDelegate
- (void)stompClientDidConnect:(CRVStompClient *)stompService {
        NSLog(@"stompServiceDidConnect");
}

- (void)stompClient:(CRVStompClient *)stompService messageReceived:(NSString *)body withHeader:(NSDictionary *)messageHeader {
    NSLog(@"gotMessage body: %@, header: %@", body, messageHeader);
    NSLog(@"Message ID: %@", [messageHeader valueForKey:@"message-id"]);
    // If we have successfully received the message ackknowledge it.
    [stompService ack: [messageHeader valueForKey:@"message-id"]];
}

- (void)dealloc {
    [service unsubscribeFromDestination: kQueueName];
    [service release];
    [super dealloc];
}

Contributors

  • Scott Raymond
  • Stefan Saasen
  • Graham Haworth
  • jbg