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
- Multiple channels on a single TCP/IP connection
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.
Wimpie Nortje (User:Wimpie)
The LibAxl and LibVortex shared libraries is under LGPL. Contact the authors at www.aspl.es with any questions.
The latest stable release can be found on http://sourceforge.net/projects/lazarus-ccr/files/BeepFp/.
- Release 1.1 31 March 2010
- Events are triggered in main application thread.
- Lazarus component to manage thread synchronisation.
- Numerous fixes.
- Release 1.0 14 August 2009
- Initial release with most of the basic BEEP functionality
Dependencies / System Requirements
- Denying a channel request doesn't work properly
- Requesting unsopported profiles causes problems
- The server cannot initiate a connection close. It hangs when trying to.
- Obtain the LibAxl and LibVortex libraries.
- Install and test the libraries following the included transactions.
- Open the libaxl package, compile
- Open the libvortex package, compile
- Open the BeepFp package, compile
- In a project, add BeepFp package as requirement
The BEEP_Listen Server Example Application
- Open example/BEEP_Listen.lpi
The BEEP_Client Client Example Application
- Open example/BEEP_Client.lpi