MYNetwork: Mooseyard Networking Library, With BLIP Protocol Implementation

By Jens Alfke

Introduction

MYNetwork is a set of Objective-C networking classes for Cocoa applications on Mac OS X. It consists of:

License and Disclaimer

MYNetwork is released under a BSD license, which means you can freely use it in open-source or commercial projects, provided you give credit in your documentation or About box.

As I write this (May 2008), MYNetwork is still very much under development. I am using it as the foundation of my own commercial products, at least one of which is currently at about the alpha stage. I'm making changes to this code as I see fit, fairly often.

That's good, in that the code is getting real-world use. But it also means that APIs and functionality are subject to change. (Of course, the entire revision tree is always available, so you're free to stick with any revision you like, and even "cherry-pick" desired changes from future ones.)

Not all of this code gets thoroughly exercised by my test cases or my applications, so some things may not work. Obviously, this code comes with no warranty nor any guarantee of tech support, though I will try to do my best to help out. Hopefully the source code is clear enough to let you figure out what's going on.

If you come across bugs, please tell me about them. If you fix them, I would love to get your fixes and incorporate them. If you add features I would love to know about them, and I will incorporate them if I think they make sense for the project. Thanks!

What's BLIP?

groups_bar.gif
BLIP Protocol
Visit this group

BLIP is a message-oriented network protocol that lets the two peers on either end of a TCP socket send request and response messages to each other. It's a generic protocol, in that the requests and responses can contain any kind of data you like.

BLIP was inspired by BEEP (in fact BLIP stands for "BEEP-LIke Protocol") but is deliberately simpler and somewhat more limited. That results in a smaller and cleaner implementation, especially since it takes advantage of Cocoa's and CFNetwork's existing support for network streams, SSL and Bonjour. (BLIP is currently a bit under 2,000 lines of code, and the rest of the MYNetwork classes it builds on add up to another 1,500. That's at least an order of magnitude smaller than existing native-code BEEP libraries.)

BLIP Features:

Configuration

MYNetwork requires Mac OS X 10.5 or later, since it uses Objective-C 2 features like properties and for...in loops.

MYNetwork uses my MYUtilities library. You'll need to have downloaded that library, and added the necessary source files and headers to your project. See the MYNetwork Xcode project, which contains the minimal set of MYUtilities files needed to build MYUtilities. (That project has its search paths set up to assume that MYUtilities is in a directory next to MYNetwork.)

How To Get It

Or if you're just looking:

There isn't any conceptual documentation yet, beyond what's in the API docs, but you can look at the sample BLIPEcho client and server, which are based on Apple's CocoaEcho sample code.


Generated on Tue May 27 22:56:33 2008 for MYNetwork:MooseyardNetworking by  doxygen 1.5.4