Difference between revisions of "BeepFp"

From Lazarus wiki
Jump to navigationJump to search
Line 6: Line 6:
 
''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 [http://www.beepcore.org www.beepcore.org] and RFC3080.
 
''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 [http://www.beepcore.org www.beepcore.org] and RFC3080.
  
Its main caracteristics are :
+
The main characteristics of ''BeepFp'' are :
  
 
* Built on a proven library
 
* Built on a proven library
Line 12: Line 12:
 
* Blocking and non-blocking modes
 
* Blocking and non-blocking modes
 
* Requires only a few event handlers to implement full-blown network protocol
 
* 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 ===
 
=== Author ===
Line 28: Line 37:
  
 
=== Dependencies / System Requirements ===
 
=== Dependencies / System Requirements ===
* LibAxl [http://www.aspl.es/axl www.aspl.es/axl] version 0.5.7 or later
+
* [http://www.aspl.es/axl LibAxl] version 0.5.7 or later
* LibVortex [http://www.aspl.es/vortex www.aspl.es/vortex] svn r4012 or later, ie v1.1 is too old, v1.2 is not yet release.
+
* [http://www.aspl.es/vortex LibVortex] svn r4012 or later, ie v1.1 is too old, v1.2 is not yet release.
 +
 
  
 
Status: ''Stable''
 
Status: ''Stable''
 +
  
 
Issues:  
 
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 ===
 
=== Installation ===
* step 1
+
* Obtain the [http://www.aspl.es/axl LibAxl] and [http://www.aspl.es/vortex LibVortex] libraries.
* step 2
+
* Install and test the libraries following the included transactions.
 +
* step 3
 +
 
 +
=== The ''BEEP_Listen'' Server Example Application ===
 +
 
 +
'''Installation'''
 +
* Open TestMyComponent.lpi
 +
* compile
 +
* run
  
=== The ''My Component'' Example Application ===
+
=== The ''BEEP_Client'' Client Example Application ===
  
 
'''Installation'''
 
'''Installation'''

Revision as of 16:43, 13 August 2009

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