Registered 2008-09-15 by Eric P. Mangold

A client and server implementation of AMP (Asynchronous Messaging Protocol) for all .NET runtimes.

AMP website:

Published and installable via Nuget!

Includes blocking and non-blocking interfaces for constructing AMP clients and servers. Abstract Stream-based I/O layer lets you speak AMP anywhere, not just over sockets.

Unit-tests are used extensively to verify code function, and code contributions should also include test-cases using NUnit.

The 2.0 release series has landed, and represents a major improvement to AMPSharp. Much effort has gone in to cleaning up the code, and removing many of the public members/methods that should have been private.

The API has been simplified, and a more consistent naming convention has been followed. The code should be much easier to follow, as it has been broken up in to multiple files. Namespaces are now used liberally, where appropriate.

New features:

  * Nuget is now supported.
  * An AmpList type compatible with the AmpList found in Twisted.
  * A ListOf type compatible with the ListOf found in Twisted.
  * Int32 / UInt32 / Int64 / UInt64 types instead of just one Integer type (as appropriate for C#)
  * New Double type that is compatible with an AMP "Float"
  * New DateTimeOffset type that is compatible with an AMP "DateTime"
  * Decimal type now supports reading values encoded in Engineering notation as per AMP spec
  * Any System.IO.Stream may be used for communicating with the AMP peer, so you are not limited to just sockets.
  * RequiresAnswer is now fully supported for Commands which do not expect to receive a reply.
  * Expanded and improved unit-tests, as well as a few minor bug-fixes.

Contact me via email, teratorn (AT) gmail, or as teratorn on

Project information

Eric P. Mangold
Not yet selected
MIT / X / Expat Licence

RDF metadata

View full history Series and milestones

2.0 series is the current focus of development.

Get Involved


Latest version is 2.0.4
released on 2011-07-26

All downloads