Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[paho-dev] MQTT Objective-C Client


I'm interested by the Objective-C client[1] that andy committed recently.

I've browsed this mailing list archive before subscribing but I did
not find a lot of information on it.

At first glance, this looks to be a whole implementation of a MQTT
client. Is there any reason why it could not leverage the mqtt.c[2]
code instead?

Given the easy bridge between C and Objective-C, I was wondering if
you thought about wrapping the low-level C in a Objective-C library
wrapper? (I did not look in details to the mqtt.c code but I assume
it's in good shape).

Looking at it, it runs on a NSRunLoop and a delegate.
Is it planned to "modernize" the API and leverage GCD and Blocks instead?
I tend to prefer API using blocks instead of delegates especially for
event-driven code that is likely to be written to handle MQTT messages
(as an example, I also wrote a ObjC library for STOMP using GCD and

One reason I could think of rewriting the whole client in Objective-C
would be persist the message for QoS 1 and 2 but I have not found such
code in the current objc client. Is it something planned?

To give some context, I am writing a book on messaging protocols for
mobile devices and Web browsers and I have several chapters on MQTT.

When I started writing the chapter about MQTT on iOS, I could not find
a good Objective-C client, so I wrote one[5] :) It's wrapping the
libmosquitto C library and is far from complete (I'm not a MQTT
expert) but it's working for simple applications[6].

The book is scheduled for this summer. Andy, do you know if there is a
roadmap for the objc client?
If there is a good Objective-C client in Paho, I would have no problem
to rewrite the iOS chapter with it as long as the lib fits in my book

If I have a lot more remarks on the current objc code but I just
wanted some more context information on the direction of this library
in order to provide some feedback and code contribution.



Jeff Mesnil

Back to the top