Giter VIP home page Giter VIP logo

objc-stomp's Introduction

STOMP client for Objective-C

This is a simple STOMP client based on

Documentation

http://dev.coravy.com/wiki/display/OpenSource/Stomp+client+for+Objective-C

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];
}

objc-stomp's People

Contributors

gdhaworth avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.