BeepFp

From Free Pascal wiki
Revision as of 16:43, 13 August 2009 by Wimpie (talk | contribs)
Jump to navigationJump to search

About

BeepFp is a Free Pascal componentset to allow development of custom protocols using BEEP in native Object Pascal.

BeepFp does not implement BEEP itself, but rather builds an easy to use componentset on top of a stable and proven library. The library, LibVortex, is a full RFC3080 implementation.

BEEP is a network application framework protocol. It is not a complete protocol but only provides the building blocks common to most network protocols to ease custom protocol design and speed up implementation. To understand exactly what BEEP is, see www.beepcore.org and RFC3080.

The main characteristics of BeepFp are :

  • Built on a proven library
  • Event driven communication
  • Blocking and non-blocking modes
  • Requires only a few event handlers to implement full-blown network protocol

The main characteristics of BEEP are :

  • Common parts of network protocols are in the specification
  • Provides for authentication using SASL
  • Provides for encryption using TLS
  • Protocols can be defined in a peer-to-peer mode, client-server mode or a combination thereof
  • Each socket connection between peers runs multiple concurrent channels.
  • Each channel can deliver messages synchronously or asynchronously.

Author

Wimpie Nortje (User:Wimpie)

License

modified LGPL (same as the FPC RTL and the Lazarus LCL). You can contact the author if the modified LGPL doesn't work with your project licensing.

The LibAxl and LibVortex shared libraries is under LGPL. Contact the authors at www.aspl.es with any questions.

Download

The latest stable release can be found on link to the lazarus-ccr sf download location.

Change Log

  • Release 1 1 September 2009 Initial release with most of the basic BEEP functionality

Dependencies / System Requirements

  • LibAxl version 0.5.7 or later
  • LibVortex svn r4012 or later, ie v1.1 is too old, v1.2 is not yet release.


Status: Stable


Issues:

  • If the listener is stopped with multiple open channels it sometimes causes an exception.
  • The libraries uses threads. It is not yet possible to access the GUI from the BeepFp event handlers.


Installation

  • Obtain the LibAxl and LibVortex libraries.
  • Install and test the libraries following the included transactions.
  • step 3

The BEEP_Listen Server Example Application

Installation

  • Open TestMyComponent.lpi
  • compile
  • run

The BEEP_Client Client Example Application

Installation

  • Open TestMyComponent.lpi
  • compile
  • run