iStreamLight
Introduction
iStreamLight is a small Cocoa-native set of classes that encapsulates the Lightstreamer textual protocol in a simple and powerful framework.
It lets you have multiple clients connected to different Lighstreamer servers, multiple sessions for each client and multiple tables for each session. The streaming mechanism is completely event driven, asynchronous and each session runs on its own thread.
What is contained here
The source repository contains a pair of XCode 3.1 projects:
- iStreamLightTest is a simple command-line utility for Mac OS X 10.5 designed to test the library main capabilities, it connects to Lightstreamer home page stream and starts publishing updates via standard output;
- iStreamLightApp is an iPhone application with a simple GUI that lets you subscribe to an item on the Lightstreamer home page stream and see its data pushed.
Distribution
The library is released on the public domain as free and open source software. It is distributed as source code only, for now, because it is really small and simple.
Versioning
The version under iStreamLightApp can be considered the development version. As soon as it is sufficiently tested, the version on iStreamLightTest will be aligned. At the moment iStreamLightApp version is 0.9.4 and differs from 0.8 of iStreamLightTest for:
- the fixing of issue #1;
- the addition of the new adapter sets of Lightstreamer 3.5;
- a few UI improvements;
- a better stream error handling.
Compatibility
Version 0.8 in iStreamLightTest has been tested on Mac OS X 10.5, version 0.9.4 in iStreamLightApp on iPhone SDK 2.2.1 and 3.0. Please report any compatibility issues that should come out.
Demos
Here you can see a video of iStreamLightApp at work on the iPhone simulator, side-by-side with Lightstreamer home page:
The library is currently used in Share Price application:
To do
Tons of things, and between them:
- Add support for proxies (yes, yes, that's important... be patient)
- Add SSL support (this could be quite hard...)
What works
The library is able to:
- Connect to a Lightstreamer server and open a session
- Subscribe items and receive updates through events
- Automatically rebind the session when the content length expires
- Unsubscribe items and stop receiving updates
Other things may work too, as most of the protocol is already implemented. It has not been thoroughly tested, though.
Reference
For any reference on the Lightstreamer textual protocol, please look at the "Network Protocol Tutorial" PDF that is included in the Lightstreamer distribution.
Feedback
A wiki has been opened that contains what is needed to get started with iStreamLight, please check there before sending feedback. Alternatively, there is the issue tracker where you can post whatever issue you should encounter. If you need direct support please contact support@flyingdolphinstudio.com.
About Flying Dolphin Studio
Flying Dolphin Studio is a privately held software development company based in Bologna, Italy. More informations can be found at www.flyingdolphinstudio.com